2020-05-09 22:14:37 +02:00
|
|
|
|
SUDO=GOPATH=$(shell go env GOPATH) sudo --preserve-env=GOPATH
|
|
|
|
|
|
|
|
|
|
PKGS := github.com/rtr7/router7/cmd/... \
|
|
|
|
|
github.com/gokrazy/breakglass \
|
|
|
|
|
github.com/gokrazy/timestamps \
|
|
|
|
|
github.com/stapelberg/zkj-nas-tools/wolgw \
|
2020-05-09 22:40:49 +02:00
|
|
|
|
github.com/gokrazy/gdns
|
2020-05-09 22:14:37 +02:00
|
|
|
|
|
|
|
|
|
image:
|
|
|
|
|
ifndef DIR
|
|
|
|
|
@echo variable DIR unset
|
|
|
|
|
false
|
|
|
|
|
endif
|
|
|
|
|
go install github.com/gokrazy/tools/cmd/gokr-packer
|
|
|
|
|
GOARCH=amd64 gokr-packer \
|
|
|
|
|
-gokrazy_pkgs=github.com/gokrazy/gokrazy/cmd/ntp,github.com/gokrazy/gokrazy/cmd/randomd \
|
|
|
|
|
-kernel_package=github.com/rtr7/kernel \
|
|
|
|
|
-firmware_package=github.com/rtr7/kernel \
|
2020-07-02 21:06:22 +02:00
|
|
|
|
-eeprom_package= \
|
2020-05-09 22:14:37 +02:00
|
|
|
|
-overwrite_boot=${DIR}/boot.img \
|
|
|
|
|
-overwrite_root=${DIR}/root.img \
|
|
|
|
|
-overwrite_mbr=${DIR}/mbr.img \
|
|
|
|
|
-serial_console=ttyS0,115200n8 \
|
|
|
|
|
-hostname=router7 \
|
|
|
|
|
${PKGS}
|
|
|
|
|
|
|
|
|
|
recover: #test
|
|
|
|
|
go install \
|
|
|
|
|
github.com/gokrazy/tools/cmd/gokr-packer \
|
|
|
|
|
github.com/rtr7/tools/cmd/rtr7-recover
|
|
|
|
|
GOARCH=amd64 gokr-packer \
|
|
|
|
|
-gokrazy_pkgs=github.com/gokrazy/gokrazy/cmd/ntp,github.com/gokrazy/gokrazy/cmd/randomd \
|
|
|
|
|
-kernel_package=github.com/rtr7/kernel \
|
|
|
|
|
-firmware_package=github.com/rtr7/kernel \
|
2020-07-02 21:06:22 +02:00
|
|
|
|
-eeprom_package= \
|
2020-05-09 22:14:37 +02:00
|
|
|
|
-overwrite_boot=/tmp/recovery/boot.img \
|
|
|
|
|
-overwrite_root=/tmp/recovery/root.img \
|
|
|
|
|
-serial_console=ttyS0,115200n8 \
|
|
|
|
|
-hostname=router7 \
|
|
|
|
|
${PKGS}
|
|
|
|
|
${SUDO} /home/michael/go/bin/rtr7-recover \
|
|
|
|
|
-boot=/tmp/recovery/boot.img \
|
|
|
|
|
-root=/tmp/recovery/root.img
|
|
|
|
|
|
|
|
|
|
test:
|
|
|
|
|
# simulate recover (quick, for early for feedback)
|
|
|
|
|
go build ${PKGS} github.com/rtr7/tools/cmd/...
|
|
|
|
|
go test -count=1 -v -race github.com/rtr7/router7/internal/...
|
|
|
|
|
# integration tests
|
|
|
|
|
${SUDO} $(shell go env GOROOT)/bin/go test -count=1 -v -race github.com/rtr7/router7/...
|
|
|
|
|
|
|
|
|
|
testdhcp:
|
|
|
|
|
go test -v -coverprofile=/tmp/cov github.com/rtr7/router7/internal/dhcp4d
|
|
|
|
|
#&& go tool cover -html=/tmp/cov
|
|
|
|
|
|
|
|
|
|
strace:
|
|
|
|
|
# simulate recover (quick, for early for feedback)
|
|
|
|
|
go build ${PKGS} github.com/rtr7/tools/cmd/...
|
|
|
|
|
go test -v -race github.com/rtr7/router7/internal/...
|
|
|
|
|
# integration tests
|
|
|
|
|
(cd /tmp && go test -c router7) && ${SUDO} strace -f -o /tmp/st -s 2048 /tmp/router7.test -test.v #-test.race
|
|
|
|
|
|
|
|
|
|
update:
|
|
|
|
|
rtr7-safe-update -build_command='make -C ~/router7 image DIR=$GOKR_DIR'
|
2020-06-04 09:58:50 +02:00
|
|
|
|
|
|
|
|
|
# sudo ip link add link enp0s31f6 name macvtap0 type macvtap
|
|
|
|
|
# sudo ip link set macvtap0 address 52:55:00:d1:55:03 up
|
|
|
|
|
#
|
|
|
|
|
# TODO: use veth pairs for router7’s lan0?
|
|
|
|
|
# e.g. get a network namespace to talk through router7
|
|
|
|
|
# ip link add dev veth1 type veth peer name veth2
|
|
|
|
|
qemu:
|
|
|
|
|
GOARCH=amd64 gokr-packer \
|
|
|
|
|
-gokrazy_pkgs=github.com/gokrazy/gokrazy/cmd/ntp,github.com/gokrazy/gokrazy/cmd/randomd \
|
|
|
|
|
-hostname=qemu-router7 \
|
|
|
|
|
-kernel_package=github.com/rtr7/kernel \
|
|
|
|
|
-firmware_package=github.com/rtr7/kernel \
|
2020-07-02 21:06:22 +02:00
|
|
|
|
-eeprom_package= \
|
2020-06-04 09:58:50 +02:00
|
|
|
|
-overwrite=/tmp/router7-qemu/disk.img \
|
|
|
|
|
-target_storage_bytes=$$((2*1024*1024*1024)) \
|
|
|
|
|
-serial_console=ttyS0,115200 \
|
|
|
|
|
${PKGS}
|
|
|
|
|
./travis/loopmkfs.sh
|
|
|
|
|
# TODO: without -smp, nothing works! is that GOMAXPROCS defaulting to 1 or something?
|
|
|
|
|
qemu-system-x86_64 \
|
|
|
|
|
-boot order=d \
|
|
|
|
|
-drive file=/tmp/router7-qemu/disk.img,format=raw \
|
|
|
|
|
-netdev tap,id=uplink,fd=3 3<>/dev/tap184 \
|
|
|
|
|
-device virtio-net-pci,netdev=uplink,mac=52:55:00:d1:55:03 \
|
|
|
|
|
-device virtio-net-pci,id=lan,mac=52:55:00:d1:55:04 \
|
2020-06-16 23:09:35 +02:00
|
|
|
|
-device i6300esb,id=watchdog0 -watchdog-action reset \
|
2020-06-04 09:58:50 +02:00
|
|
|
|
-smp 8 \
|
|
|
|
|
-machine accel=kvm \
|
|
|
|
|
-m 4096 \
|
|
|
|
|
-nographic
|