######### #A modifier en fonction de l'environnement ########## #IMAGE= Image du .tar.gz du rootfs IMAGE=buildroot-2015.11.1/output/images/rootfs.tar #LINUX=Noyau linux du boot (de la "cle usb") LINUX=/home/ptitcois/Programmation/wemlinux/buildroot-2015.11.1/output/build/linux-4.3/arch/x86_64/boot/bzImage #Donne a ecrire sur la partition hote HOSTDATA=host.back/ #INSTALLDISK=Disque d'installation Attention ! : Le disque sera formate INSTALLDISK=/dev/sdc ############################################################### LOOP=/dev/loop4 LOOP2=/dev/loop5 LOOP3=/dev/loop6 #point de montage de la cle usb DIR=mdisk/ #Fichier simulant le fichier hote HOSTDISK=$(RES)/hda #Point de montage de la partition hote HOSTDISK_MP=$(HOSTDISK).dir/ RES=ressources/ BOOT=${RES}/boot LOADER_INITRD=${RES}/loader_initrd LOADER_ROOT=${RES}/loader_root all: exec inithostdisk: test ! -s $(HOSTDISK) || { echo "Errue le fichier existe. Supprimez le manuelement pour eviter toute fausse manipulation"; exit 1; } fallocate -l 8G $(HOSTDISK) echo -e "o\nn\np\n1\n\n\na\nw\n" | fdisk $(HOSTDISK) sudo losetup $(LOOP2) $(HOSTDISK) sudo partx -a $(LOOP2) sudo mkfs.ntfs $(LOOP2)p1 sudo partx -u $(LOOP2) sudo partx -d $(LOOP2) sudo losetup -d $(LOOP2) initdisk: fallocate -l 8G disk echo -e "o\nn\np\n1\n\n\na\nw\n" | fdisk disk sudo losetup $(LOOP) disk sudo partx -a $(LOOP) sudo mkfs.ext2 $(LOOP)p1 dd if=$(BOOT)/mbr.bin of=disk conv=notrunc app: make -C $(RES)/app fill: initdisk app sudo mount $(LOOP)p1 $(DIR) sudo cp $(LINUX) $(DIR)/bzImage sudo tar -xf $(IMAGE) -C $(DIR) sudo extlinux --install $(DIR) cd ${LOADER_INITRD} && find . | cpio -o -H newc | gzip -9 > initrd.img mv ${LOADER_INITRD}/initrd.img ${LOADER_ROOT}/initrd.img sudo rm $(DIR)/sbin/init sudo cp -r $(LOADER_ROOT)/* $(DIR)/ sudo cp $(RES)/app/app $(DIR)/app sudo rm -rf mdisk/lib/modules/ exec: fill sync qemu-system-x86_64 -usb disk -hdb $(RES)/hda install: fill sync dd if=disk of=$(INSTALLDISK) sync clean: sudo umount $(DIR) || true sudo partx -u $(LOOP) || true sudo partx -d $(LOOP) || true sudo losetup -D make -C $(RES)/app clean hda: sudo losetup $(LOOP3) ressources/hda sudo partx -a $(LOOP3) sudo mount $(LOOP3)p1 ressources/hda.dir cleanhda: sudo umount ressources/hda.dir || true sudo partx -u $(LOOP3) || true sudo partx -d $(LOOP3) || true sudo losetup -d $(LOOP3)