Среднестатическая линуксовая дискета состоит из:
1. Ядро
2. Корневая файловая системе
3. Утилиты
Tеперь надо определить на сколько дискет создать загрузочную систему:
1. Одна дискета(ядро, корневая файловая система, утилиты, иногда ешё LILO) на основе более-
менее свежего дистрибутива создать дискету трудно, но если сильно хочется уместить всё на
один флопарь то стои поискать старые дистрибутивы
2. Две дискеты. На одну помещается , на вторую - корневая файловая система. Утилиты
помещаются в корень
3. Три и более дискет. То же самое, только утилиты помещаются на отдельную дискету
Лепим ядро
Идеальный вариант взять сорцы, сбацать подходящий конфиг и скомпилировать новое ядро
убрав поддержку разного ненужного дерьма (Х, звука,SCSI-хардварок, дров от железа и прочего
барахла). Поддержка сети жрет много места поэтому сам думай надо оно тебе или нет.
Чтобы создать новое ядро переходи в каталог с исходнаками:
cd\usr\src\linux
вбивай
make xconfig
запустится утилитка для конфигурации ядра. После сохранения:
make bzImage
после этого в папке /usr/src/linux/arch/i386/boot/ должен появиться новое ядро
есле влом компилить новое ядро можно взять уже готовое от своей системы оно будет довольно
большое но если класть на одну дискету то не важно
Корневая файловая система это набор необходимых каталогов. Сформируем её из минимального
набора необходимых файлов и сожмем её чтобы она умещалась на дискету. Для этого нам надо
немного свободного места:
dd if=/dev/zero of=/dev/ram0 bs=1k count=3000
mke2fs -m 0 -i 2000 /dev/ram0
Этим мы создали в памяти виртуальную систему. Теперь её можно примонтировать:
mount -t ext2 /dev/ram0 /mnt/fd
Минимальный набор каталогов: /dev, /proc, /etc, /sbin, /bin, /lib, /mnt, /usr. /proc, /mnt, /usr
можно оставить пустыми.
В /dev хранятся файлы всяких устройств нам строго надо: console, kmem, mem, null, ram, tty1.
Но кроме них рекомендуется оставить ещё и tty*, hd*, cua*, ram*-фаилыю
В /etc копируй fstab, inittab, passwd, group, shadow, и каталог rc.d/* Подчисти по рекомендациям
HOWTO
/sbin, /bin заполняй следуя HOWTO Также в /sbin можно положить свой утилиты.
/lib это хранилище всех библиотек необходимых прогам из предыдущих папок. Чтобы узнать
какому файлу что надо сделай так:
ldd file_name
После того как соберешь все файлы сжимай систему:
unmount /mnt/fd_
dd if=/dev/ram0 bs 1k | gzip -v9 > root.gz
Перенос
Скопируй полученное добро во временную папку и набирай:
dd fi=bzImage of=/dev/fd0 bs=1k
Появится что-то вроде
n+1 records in
n+1 records out
теперь пиши
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
потом попробуй грузиться с первого раза редко у кого получается
вторник, 12 июня 2007 г.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий