ADVANCED ЗАГРУЗОЧНЫЙ NIX-ФЛОПАРЬ
Спецвыпуск Xakep, номер #017, стр. 017-080-4
ldd file_name
Например, ldd /bin/cp. Эта команда выдаст на выход список требуемых cp’шкой библиотек. Копируй их из /lib в /mnt/fd_/lib командой, типа
cp /lib/libc-2.4 /mnt/fd_/lib
Сочувствую, но придется проделать то же самое для всех файлов из /bin и /sbin виртуальной корневой файловой системы :). Зато на этом мучения с ее формированием заканчиваются. Осталось только ее сжать:
umount /mnt/fd_
dd if=/dev/ram0 bs=1k | gzip -v9 > root.gz
В папке /mnt появится файл root.gz – это и есть сжатая корневая файловая система.
ПЕРЕНОС
Ядро есть, сжатая корневая файловая система есть – осталось только разместить их по дискеткам. Скопируй все это хозяйство в какую-нибудб темповую папку (скажем, /root/tmp) и набирай:
dd if=bzImage of=/dev/fd0 bs=1k
Ты увидишь что-то, типа
n+1 records in
n+1 records out
Запомни число n+1 – нам с ним еще предстоит гимориться :).
Теперь вводи следующее:
rdev /dev/fd0 /dev/fd0
rdev -R /dev/fd0 0
Вычисли по формуле val = n+1+49152 и набирай:
rdev -r /dev/fd0 val
Все, первая дискетка (с ядром) готова! Вытаскивай ее, вставляй вторую и сразу набирай:
dd if=root.gz of=/dev/fd0 bs=1k
Погоди, пока сжатая корневая файловая система скопируется и вытаскивай дискету. Пометь первую дискетку как boot_disk (пометь, я имею в виду бумажкой :), не пугайся), а вторую root_disk. Пихай в флоповод boot_disk и перезагружайся. Велик шанс, что ничего работать не будет ;). Но это нормально – с первого раза ни у кого не получается (прямо как в «Матрице»). Пробуй, ищи баги, испарвляй. Кстати, от загрузочной дискеты до собственного дистрибутива всего один шаг :).
Назад на стр. 017-080-3 Содержание
|