diff --git a/Dockerfile b/Dockerfile index fc3c196..2178a63 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,30 +9,11 @@ RUN cd /tmp && \ cp -r qemu-rpi-kernel-*/* /root/qemu-rpi-kernel/ && \ rm -rf /tmp/* /root/qemu-rpi-kernel/README.md /root/qemu-rpi-kernel/tools -VOLUME /filesystem.img +VOLUME /data -ENTRYPOINT ["qemu-system-arm"] -CMD [ \ - "-M", "versatilepb", \ - "-cpu", "arm1176", \ - "-m", "256", \ - "-hda", "/filesystem.img", \ - "-net", "nic", \ - "-net", "user,hostfwd=tcp::5022-:22", \ - "-dtb", "/root/qemu-rpi-kernel/versatile-pb.dtb", \ - "-kernel", "/root/qemu-rpi-kernel/kernel-qemu-4.19.50-buster", \ - "-append", "root=/dev/sda2 panic=1", \ - "-no-reboot", \ - "-display", "none", \ - "-serial", "mon:stdio" \ -] +ADD ./entrypoint.sh /entrypoint.sh +ENTRYPOINT ["./entrypoint.sh"] FROM dockerpi-vm as dockerpi LABEL maintainer="Luke Childs " - -ADD http://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-09-30/2019-09-26-raspbian-buster-lite.zip /tmp/filesystem.zip - -RUN cd /tmp && \ - unzip *.zip && \ - mv *.img /filesystem.img && \ - rm -rf /tmp/* +ADD http://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-09-30/2019-09-26-raspbian-buster-lite.zip /filesystem.zip diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100755 index 0000000..ca5bf11 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +image_path="/data/filesystem.img" +zip_path="/filesystem.zip" + +if [ ! -e $image_path ] && [ -e $zip_path ]; then + unzip $zip_path + mv *.img $image_path +fi + +exec qemu-system-arm \ + -M versatilepb \ + -cpu arm1176 \ + -m 256M \ + -hda /data/filesystem.img \ + -net nic \ + -net user,hostfwd=tcp::5022-:22 \ + -dtb /root/qemu-rpi-kernel/versatile-pb.dtb \ + -kernel /root/qemu-rpi-kernel/kernel-qemu-4.19.50-buster \ + -append "root=/dev/sda2 panic=1" \ + -no-reboot \ + -display none \ + -serial mon:stdio