Add network support to Pi2/3 (#21)

Co-authored-by: Luke Childs <lukechilds123@gmail.com>
This commit is contained in:
Ben Hardill 2021-05-16 15:22:56 +01:00 committed by GitHub
parent f07a233eb3
commit 6c1ac8edab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 10 deletions

View file

@ -1,5 +1,7 @@
#!/bin/sh
GIB_IN_BYTES="1073741824"
target="${1:-pi1}"
image_path="/sdcard/filesystem.img"
zip_path="/filesystem.zip"
@ -15,6 +17,14 @@ if [ ! -e $image_path ]; then
fi
fi
qemu-img info $image_path
image_size_in_bytes=$(qemu-img info --output json $image_path | grep "virtual-size" | awk '{print $2}' | sed 's/,//')
if [[ "$(($image_size_in_bytes % ($GIB_IN_BYTES * 2)))" != "0" ]]; then
new_size_in_gib=$((($image_size_in_bytes / ($GIB_IN_BYTES * 2) + 1) * 2))
echo "Rounding image size up to ${new_size_in_gib}GiB so it's a multiple of 2GiB..."
qemu-img resize $image_path "${new_size_in_gib}G"
fi
if [ "${target}" = "pi1" ]; then
emulator=qemu-system-arm
kernel="/root/qemu-rpi-kernel/kernel-qemu-4.19.50-buster"
@ -22,21 +32,23 @@ if [ "${target}" = "pi1" ]; then
machine=versatilepb
memory=256m
root=/dev/sda2
nic='--net nic --net user,hostfwd=tcp::5022-:22'
nic="--net nic --net user,hostfwd=tcp::5022-:22"
elif [ "${target}" = "pi2" ]; then
emulator=qemu-system-arm
machine=raspi2
machine=raspi2b
memory=1024m
kernel_pattern=kernel7.img
dtb_pattern=bcm2709-rpi-2-b.dtb
nic=''
append="dwc_otg.fiq_fsm_enable=0"
nic="-netdev user,id=net0,hostfwd=tcp::5022-:22 -device usb-net,netdev=net0"
elif [ "${target}" = "pi3" ]; then
emulator=qemu-system-aarch64
machine=raspi3
machine=raspi3b
memory=1024m
kernel_pattern=kernel8.img
dtb_pattern=bcm2710-rpi-3-b-plus.dtb
nic=''
append="dwc_otg.fiq_fsm_enable=0"
nic="-netdev user,id=net0,hostfwd=tcp::5022-:22 -device usb-net,netdev=net0"
else
echo "Target ${target} not supported"
echo "Supported targets: pi1 pi2 pi3"
@ -78,7 +90,7 @@ exec ${emulator} \
${nic} \
--dtb "${dtb}" \
--kernel "${kernel}" \
--append "rw earlyprintk loglevel=8 console=ttyAMA0,115200 dwc_otg.lpm_enable=0 root=${root} rootwait panic=1" \
--append "rw earlyprintk loglevel=8 console=ttyAMA0,115200 dwc_otg.lpm_enable=0 root=${root} rootwait panic=1 ${append}" \
--no-reboot \
--display none \
--serial mon:stdio