build-img.sh 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/sh
  2. OS=`uname -s`
  3. SUDO=sudo
  4. dd if=/dev/zero of=build/fs.img bs=`expr 1024 \* 1024` count=512
  5. mkfs.fat -n SYSTEM build/fs.img
  6. if [ "$OS" = "Darwin" ]; then
  7. SUDO=''
  8. hdiutil detach build/mnt > /dev/null 2>&1 || true
  9. hdiutil attach build/fs.img -mountpoint build/mnt
  10. else
  11. mkdir -p build/mnt
  12. $SUDO losetup -P /dev/loop2 build/fs.img
  13. $SUDO mount /dev/loop2 build/mnt
  14. fi
  15. $SUDO cp build/user-space-program/hello-world.out build/mnt/hello
  16. $SUDO cp build/user-space-program/interrupt-test.out build/mnt/int
  17. $SUDO cp build/user-space-program/stack-test.out build/mnt/stack
  18. $SUDO cp build/user-space-program/init.out build/mnt/init
  19. $SUDO cp build/user-space-program/priv-test.out build/mnt/priv
  20. $SUDO cp ./busybox build/mnt/busybox
  21. $SUDO cp ./busybox-minimal build/mnt/busybox_
  22. $SUDO cp ./init_script.sh build/mnt/initsh
  23. # Add your custom files here
  24. $SUDO cp -r $HOME/.local/i486-linux-musl-cross build/mnt/
  25. # End of custom files
  26. if [ "$OS" = "Darwin" ]; then
  27. hdiutil detach build/mnt
  28. else
  29. $SUDO losetup -d /dev/loop2
  30. $SUDO umount build/mnt
  31. fi