Archives du blog
Mini système – Linux & BusyBox
Je cherchais un moyen simple d’expliquer le fonctionnement d’un système minimale « live ».
J’ai simplement utilisé le noyau installé ( pas de compil, mais cela serait mieux, bien entendu ) et busybox ( idem noyau ).
Voilà la méthode que j’ai utilisée (sous Ubuntu 12.04) si envie de vous amuser
#!/bin/sh # base directory echo " -- create base directory - mini_linux" mkdir mini_linux && cd mini_linux # live directory mkdir -p live/boot/isolinux # minimal root filesystem echo " -- create minimal root filesystem" mkdir rootfs && cd rootfs mkdir bin dev etc lib proc root sbin sys tmp usr var mkdir -p usr/lib usr/local usr/share mkdir -p var/cache var/lib var/lock var/log var/run var/spool mkdir -p dev/pts dev/shm chmod 1777 tmp # busybox echo " -- copy busybox & create symbolic link" cd bin cp /bin/busybox . ln -s busybox sh cd .. ln -s bin/busybox init echo " -- create /etc/fstab" echo """ # /etc/fstab: information about static file system. # proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 devpts /dev/pts devpts defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 """ > etc/fstab echo " -- compress rootfs --> live/boot/rootfs.gz" find . -print | cpio -o -H newc | gzip -9 > ../live/boot/rootfs.gz cd .. echo " -- copy kernel --> live/boot/vmlinuz" echo " need sudo .." sudo cp /boot/vmlinuz-3.2.0-26-generic-pae live/boot/vmlinuz sudo chmod a+rw live/boot/vmlinuz echo " -- copy isolinux.bin --> live/boot/isolinux" cp /usr/lib/syslinux/isolinux.bin live/boot/isolinux echo " -- create config for isolinux" echo """ default live label live kernel /boot/vmlinuz append initrd=/boot/rootfs.gz implicit 0 prompt 0 timeout 50 """ > live/boot/isolinux/isolinux.cfg # create iso image echo " -- create iso Image" genisoimage -R -o cd.iso -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -V "Live" -input-charset iso8859-1 -boot-info-table live # test with Qemu # qemu-system-i386 -cdrom cd.iso
Envie d’aller plus loin ?
– BusyBox : http://www.busybox.net/
– Linux From Scratch : http://www.linuxfromscratch.org/
– Free Electrons : http://free-electrons.com/
– Pierre FICHEUX : http://pficheux.free.fr/
– SliTaz Doc Scratchbook : http://doc.slitaz.org/en:scratchbook:start