LINUX.ORG.RU

помогите чайнику


0

0

Хочу сделать вариант Линукс на дискете. Подскажите пожалуйста какие каталоги и файлы должны там минимально присутствовать (кроме ядра и лило). Заранее благодарен. Спасибо.

anonymous

Lilo не нужен, если не требуется передавать ядру параметры при загрузке. Просто пишешь ядро с нулевого сектора:
cat bzImage >/dev/fd0
Кроме ядра в системе должен быть либо /sbin/init, либо /bin/sh. Для дискетной версии лучше /bin/sh. Оболочку лучше взять статически слинкованную и со встроенными командами (типа ls, cat, more, etc). Пример: sash. Неудобная, но зато должна быть в твоем дистрибутиве.
Еще нужно создать каталог /dev и несколько файлов устройств. Каких - зависит от того, для чего ты эту дискету делаешь, и с какой системой она должна работать.

nobody ★★
()

по-моему вы изобретаете велосипед. линуксы на дискете есть, надо только поискать, хоть на том же фрешмясе. ну а если уж хочется/надо свой - берите один из готовых, и точите под свои нужды.

sasha999 ★★★★
()
Ответ на: комментарий от nobody

Большое спасибо за ответ. Дискету хочу сделать просто чтобы разобраться. Если ядро копировать прямо с нулевого сектора, то куда копировать /sbin/init и т.д. Ведь на ней не будет файловой системы. Я вот сделал так: командой mke2fs отформатировал дискету, потом создал на ней /boot, /etc, /sbin, /bin и т.д. потом скопировал в нужное место ядро, лило и все что для них нужно. Потом скопировал init в /sbin и bash в /bin. После этого попробовал загрузиться с дискеты. Ядро загрузилось нормально, корень ФС смонтировался нормально, а вот дольше Линукс сказал: kernel panic, no init found и завис наглухо. Хотя init со всеми правами на самом деле был на своем месте на дискете - я проверял. Буду очень благодарен за любые комментарии. Спасибо.

anonymous
()

Дык, про шаровые либы-то ты забыл :). Я что, зря говорил про статическую линковку?

Делаешь так:
1) Создаешь пустую файловую систему на ram-диске (размер для примера = 4M):
dd if=/dev/zero of=/dev/ram0 bs=1k count=4096
mke2fs -m 0 /dev/ram0
mount /dev/ram0 /mnt
cd /mnt
rm -rf lost+found

2) Создаешь в ней каталоги и файлы:
mkdir sbin
cp /bin/sash sbin/init
mkdir dev
cd dev
mknod <нужные_тебе_файлы_устройств>

3) Делаешь созданную FS файлом:
umount /mnt
dd if=/dev/ram0 of=/root/fs bs=1k
gzip -9 /root/fs

4) Устанавливаешь систему на дискету:
cat /boot/bzImage >/dev/fd0
rdev /dev/fd0 /dev/fd0
rdev -r /dev/fd0 <параметры_ram-диска>
dd if=/root/fs.gz of=/dev/fd0 bs=1k seek=<размер_ядра_в_килобайтах>

Reboot & enjoy :).

nobody ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.