Экстремально маленький livecd
Создано: 04-06-2009 19:18:36  Метки: livecd linux
Решил ради прикола собрать экстремально маленький livecd. Взял последнее ядро с kernel.org, выключил при сборке практически все (можно еще отключить initrd и еще по-мелочи). Вот микроотчет к микроисошнику:



# собираем ядро
aptitude install ncurses-dev
wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.tar.bz2
tar xfj linux-2.6.27.tar.bz2
cd linux-2.6.27
make menuconfig
make
cd ..
# скачиваем busybox, лень самому собирать
aptitude download busybox-static
# копируем необходимые файлы
mkdir image
cd image
cp ../linux-2.6.27/arch/x86/boot/bzImage vmlinuz
mkdir etc bin proc dev isolinux
ln -s sbin bin
cp /dev/pts dev/
cp /dev/null dev/
cp /dev/tty* dev/
cp /dev/ram* dev/
cp /dev/console dev/
# инит у нас только монтирует proc
cat >bin/init
#! /bin/ash
/bin/mount -a
/bin/ash
^d
echo "proc /proc proc defaults 0 0" >etc/fstab
# загрузчик
aptitude install syslinux
cp /usr/lib/syslinux/isolinux.bin isolinux/
echo "DEFAULT /vmlinuz root=/dev/hdc" > isolinux/isolinux.cfg # CD is /dev/hdc!!!

далее из deb-пакета извлекаем busybox и копируем его в bin/, а также смотрим по ману на busybox необходимые симлинки, я их делал скриптом:

for i in `cat busybox.list`; do ln -s $i /bin/busybox ; done

ну и собираем исошник:

cd image
mkisofs -r -V "mikrolive" -cache-inodes -J -l -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -o ../mikrolive.iso .


Куда может пригодиться такое? Ну например как система для бэкапа и восстановления системы - надо только написать соответствующий init а также разобраться с устройствами, также можно использовать как встраиваемую систему...
2000 просмотров комментировать