Makefile 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. ######### #A modifier en fonction de l'environnement ##########
  2. #IMAGE= Image du .tar.gz du rootfs
  3. IMAGE=buildroot-2015.11.1/output/images/rootfs.tar
  4. #LINUX=Noyau linux du boot (de la "cle usb")
  5. LINUX=/home/ptitcois/Programmation/wemlinux/buildroot-2015.11.1/output/build/linux-4.3/arch/x86_64/boot/bzImage
  6. #Donne a ecrire sur la partition hote
  7. HOSTDATA=host.back/
  8. #INSTALLDISK=Disque d'installation Attention ! : Le disque sera formate
  9. INSTALLDISK=/dev/sdc
  10. ###############################################################
  11. LOOP=/dev/loop4
  12. LOOP2=/dev/loop5
  13. LOOP3=/dev/loop6
  14. #point de montage de la cle usb
  15. DIR=mdisk/
  16. #Fichier simulant le fichier hote
  17. HOSTDISK=$(RES)/hda
  18. #Point de montage de la partition hote
  19. HOSTDISK_MP=$(HOSTDISK).dir/
  20. RES=ressources/
  21. BOOT=${RES}/boot
  22. LOADER_INITRD=${RES}/loader_initrd
  23. LOADER_ROOT=${RES}/loader_root
  24. all: exec
  25. inithostdisk:
  26. test ! -s $(HOSTDISK) || { echo "Errue le fichier existe. Supprimez le manuelement pour eviter toute fausse manipulation"; exit 1; }
  27. fallocate -l 8G $(HOSTDISK)
  28. echo -e "o\nn\np\n1\n\n\na\nw\n" | fdisk $(HOSTDISK)
  29. sudo losetup $(LOOP2) $(HOSTDISK)
  30. sudo partx -a $(LOOP2)
  31. sudo mkfs.ntfs $(LOOP2)p1
  32. sudo partx -u $(LOOP2)
  33. sudo partx -d $(LOOP2)
  34. sudo losetup -d $(LOOP2)
  35. initdisk:
  36. fallocate -l 8G disk
  37. echo -e "o\nn\np\n1\n\n\na\nw\n" | fdisk disk
  38. sudo losetup $(LOOP) disk
  39. sudo partx -a $(LOOP)
  40. sudo mkfs.ext2 $(LOOP)p1
  41. dd if=$(BOOT)/mbr.bin of=disk conv=notrunc
  42. app:
  43. make -C $(RES)/app
  44. fill: initdisk app
  45. sudo mount $(LOOP)p1 $(DIR)
  46. sudo cp $(LINUX) $(DIR)/bzImage
  47. sudo tar -xf $(IMAGE) -C $(DIR)
  48. sudo extlinux --install $(DIR)
  49. cd ${LOADER_INITRD} && find . | cpio -o -H newc | gzip -9 > initrd.img
  50. mv ${LOADER_INITRD}/initrd.img ${LOADER_ROOT}/initrd.img
  51. sudo rm $(DIR)/sbin/init
  52. sudo cp -r $(LOADER_ROOT)/* $(DIR)/
  53. sudo cp $(RES)/app/app $(DIR)/app
  54. sudo rm -rf mdisk/lib/modules/
  55. exec: fill
  56. sync
  57. qemu-system-x86_64 -usb disk -hdb $(RES)/hda
  58. install: fill
  59. sync
  60. dd if=disk of=$(INSTALLDISK)
  61. sync
  62. clean:
  63. sudo umount $(DIR) || true
  64. sudo partx -u $(LOOP) || true
  65. sudo partx -d $(LOOP) || true
  66. sudo losetup -D
  67. make -C $(RES)/app clean
  68. hda:
  69. sudo losetup $(LOOP3) ressources/hda
  70. sudo partx -a $(LOOP3)
  71. sudo mount $(LOOP3)p1 ressources/hda.dir
  72. cleanhda:
  73. sudo umount ressources/hda.dir || true
  74. sudo partx -u $(LOOP3) || true
  75. sudo partx -d $(LOOP3) || true
  76. sudo losetup -d $(LOOP3)