first start of a qemu target
This commit is contained in:
parent
aa14d119e6
commit
1fd5468bab
29
Makefile
29
Makefile
@ -60,3 +60,32 @@ strace:
|
|||||||
|
|
||||||
update:
|
update:
|
||||||
rtr7-safe-update -build_command='make -C ~/router7 image DIR=$GOKR_DIR'
|
rtr7-safe-update -build_command='make -C ~/router7 image DIR=$GOKR_DIR'
|
||||||
|
|
||||||
|
# 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 \
|
||||||
|
-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 \
|
||||||
|
-smp 8 \
|
||||||
|
-machine accel=kvm \
|
||||||
|
-m 4096 \
|
||||||
|
-nographic
|
||||||
|
23
travis/loopmkfs.sh
Executable file
23
travis/loopmkfs.sh
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
loopdev=$(sudo losetup -Pf --show /tmp/router7-qemu/disk.img)
|
||||||
|
sudo mkfs.ext4 -m 1 "${loopdev}p4"
|
||||||
|
sudo mount "${loopdev}p4" /mnt
|
||||||
|
# TODO: make github.com/gokrazy/serial-busybox work with GOARCH=amd64
|
||||||
|
sudo cp ~/src/busybox-1.22.0-amd64/busybox /mnt/sh || true
|
||||||
|
cat <<'EOT' | sudo tee /mnt/interfaces.json
|
||||||
|
{
|
||||||
|
"interfaces": [
|
||||||
|
{
|
||||||
|
"hardware_addr": "52:55:00:d1:55:03",
|
||||||
|
"name": "uplink0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hardware_addr": "52:55:00:d1:55:04",
|
||||||
|
"name": "lan0",
|
||||||
|
"addr": "10.254.0.1/24"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
EOT
|
||||||
|
sudo umount /mnt
|
||||||
|
sudo losetup -d "${loopdev}"
|
Loading…
x
Reference in New Issue
Block a user