Debian in Ram. Загрузка Debian в оперативную память. Debirf.

В общем бродил тут по интернетам, по дебиановским форумам в поисках инструкций на тему: "Как загрузить Linux в оперативную память" В общем нашёл удобное решение в виде пакета debirf. Этот пакет(на самом деле это просто набор bash скриптов) предоставляет удобный интерфейс для установки и создания образа дистрибутива при помощи debootstrap, initramfs-tools и bash, для упаковки его в образы initrd. Дополнительно позволяет делать образы iso, которые при помощи того же unetbootin можно закатать на флэшку. В общем, это прекрасный инструмент для создания собственного livecd.

Для того чтобы этот пакет появился у Вас, в Debian Lenny(в squeeze, sid и выше, а также в Ubuntu этот пакет должен быть), нужно добавить в /etc/apt/sources.list

deb http: //cmrg.fifthhorseman.net/debian unstable debirf
deb-src http: //cmrg.fifthhorseman.net/debian unstable debirf

И импортировать gpg ключ репозитория:

wget http: //fifthhorseman.net/dkg.gpg -O -- | sudo apt-key add --
sudo aptitude update
sudo aptitude install debirf

Теперь, после установки, можно начать создавать свой супер-мега-дистрибутив. Небольшое техническое отступление, debirf работает с так называемыми "сценариями". По умолчанию debirf предоставляет 3 сценария установки: xkiosk -- система с очень простым WM и Iceweasel. rescue -- типичные rescuecd утилиты типа install lvm2 lsof hdparm partimage pciutils testdisk foremost mdadm smartmontools eject wodim ddrescue cryptsetup sdparm. (Набор весьма маленький, однако легко можно добавить нужные Вам утилиты) minimal -- базовая установка Debian. Тут сказать нечего, это, так сказать основа для будущей системы. Итак, приступим к установке непосредственно livecd: Создадим папку с говорящим названием ;)

mkdir ~/mycooldebiandistro
cd ~/mycooldebiandistro

Распакуем один из образов:

tar xzf /usr/share/doc/debirf/example-profiles/minimal.tgz

Теперь в папке будет папка minimal, в ней соответственно debirf.conf и папка modules, с сценариями установки, можно воспользоваться базовыми сценарями из /usr/share/debirf/modules/ В файле debirf.conf можно задать следующие параметры:

DEBIRF_LABEL="debirf—minimal" //hostname дистрибутива
#DEBIRF_BUILDD=/home/user/mycooldebiandistro //папка где будем собирать наш дистрибутив
#DEBIRF_SUITE=lenny //указываем имя версии дистрибутива
#DEBIRF_DISTRO=debian //Указываем дистрибутив который будем собирать
#DEBIRF_MIRROR=http: //mirrors.kernel.org/${DEBIRF_DISTRO} //То, откуда скачивать пакеты для дистрибутива
#DEBIRF_KEYRING=ТУТIDКЛЮЧА //для подписи нашего debootstrap
export http_proxy=Прокси

Итак, сценарии мы распаковали, с версиями дистрибутива определились. Будем начинать сборку:

debirf make minimal

Следует, однако, заметить, что по умолчанию собирается generic ядро для этого дистрибутива. Чтобы задать своё ядро(а я так и сделал) нужно запускать с параметром -k

debirf make -k /path/to/kelnel.deb minimal

В моём случаеэто выглядело так:

debirf make -k … /linux—image—2.6.30—lib.30_2.6.30—lib.30—10.00. Custom_i386.deb xkiosk

Пока оно там скачивается, собирается в 2 файла, можно смело пойти перекусить или ещё чего(а с моими медленными интернетами ещё и поспать можно было бы ;) После этого скопируем initrd и vmlinuz файлы в /boot и добавим запись о них в menu.lst

cp vmlinuz—2.6.30—lib.30 /boot/
cp debirf—xkiosk_lenny_2.6.30—lib.30.cgz /boot/

И прописываем в /boot/grub/menu.lst следующее:

title Cool Debian Distro
root (hd0, 0)
kernel /boot/vmlinuz—2.6.30—lib.30
initrd /boot/debirf—xkiosk_lenny_2.6.30—lib.30.cgz

После этого можно перезагружаться в свежую систему.

Если у вас остались вопросы, напишите мне письмо.