LINUX.ORG.RU

Самодельный линух...


0

0

Сотворил я тут самодельный линух на 2 дискетки:
1 - загрузчик LiLo и ядро 2.4.28 (другого не было :) 2.2.* не собирается)
2 - сжатая корневая файловая система (cramfs)

так вот, грузится ядро, потом вставляю дискету №2 нажимаю Enter, всё грузится, всё ок и система работает отлично, но не устраивает меня одна вещь - всё это чудо работает только тогда, когда второй диск с корневой fs в дисководе, тоесть подгружаются программки по мере надобности... а проблема в том, что допустим другую дискетку с доп. можулями не примонтировать :( т.к. во первых /dev/fd0 не отмаунтить да и он пытается с дискеты утилитку прочитать а у него не получается, т.к. другая дискетка стоит и в результате после этого Seg Fault и нерабочая система... хотелось бы, чтобы вся дискета копировалась в RAM и монтировалась оттуда как корневая, пытался сделать это скриптом но не получилось :) плоховато я скриптовым языком владею...
Скрипт:
mount -t proc proc /proc
mkfs.ext2 /dev/ram0
mount /dev/ram0 /tmp/
dd if=/dev/fd0 of=/tmp/floppy.img
mount /tmp/floppy.img /floppy/ -o loop -t cramfs
chroot /floppy/
/sbin/ifconfig lo 127.0.0.1 up
#/bin/hostname dimaz
echo 'Welcome to Linux System :)'
umount /dev/fd0

это не проходит...
как это сделать???
P.S. Ramdisk в ядре есть... всё для этого есть...


> mkfs.ext2 /dev/ram0 > mount /dev/ram0 /tmp/

хм, может лучше:

mount -t ramfs none /tmp

anonymous
()

да это в принципе не изменит ситуации... и так этот кусок то работает, как сказать ядру чтобы оно загрузило всю дискету в память и примонтировало корневую фс уже из памяти, не монтируя дискету...

dimaz-z
() автор топика

dimaz-z, ты такими вещами занимаешься потому что с линём отлично знаком, или хорошую литературу читаешь?

На линуксе я больше полугода, в восторге от этой системы.

Возникла у меня мысль собрать LiveCD(или тож на дискете можно) и чтоб система в память загружалась. Но опыта мало в таких вещах.

Посоветуй, с чего начать.


burzum

anonymous
()

наверно надо сразу сделать образ через mkinitrd.

anonymous
()

Ты изначально делаешь неправильно. У тебя на второй дискете должен быть уже готовый образ, который должен монтироваться на старте или быть в ramfs (но не в виде файла на виртуальной файловой системе, как ты делаешь, а сразу как эта файловая система).

Рекомендую зайти на knoppix.de и посмотреть на скрипты - они там есть отдельно.

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

тоесть что то вроде
#!/bin/sh
mount -t proc proc /proc
dd if=/dev/fd0 of=/dev/ram0
mount /dev/ram0 /floppy/ -o loop -t cramfs
chroot /floppy/
/sbin/ifconfig lo 127.0.0.1 up
/bin/hostname dimaz
echo 'Welcome to Linux System :)'
umount /dev/fd0

??? Уже ближе? :)

dimaz-z
() автор топика
Ответ на: комментарий от dimaz-z

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

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