Страница 1 из 1

initrd?

Добавлено: 18 фев 2009, 18:19
Ларин
всем привет.
есть ли ограничение на размер сабжа?
хочется сделать загрузочный образ для терминальных клиентов.
смотрел специализированные дистрибутивы. как-то не впечатлили...
вообще хотелось бы что-то простое аля поставил, настроил и сделал автоматом сделал образ с рабочей системы.

Re: initrd?

Добавлено: 18 фев 2009, 18:24
Ларин
хотя везде написано, что сейчас модно initramfs...
т.е. хочется весь корень разместить в initramfs
грузить по nfs не нравится.

Re: initrd?

Добавлено: 18 фев 2009, 19:08
Berserker
Ограничение есть и оно вкомпилено в ядро: CONFIG_BLK_DEV_RAM_SIZE. Я раньше таким занимался, создал большой initrd на основе базовой системы дебиан. Вот http://tanatos.org/big.initrd.safe.boot/

Re: initrd?

Добавлено: 18 фев 2009, 19:10
Berserker
CONFIG_BLK_DEV_RAM_SIZE должно быть больше либо равно чем du -k initrd (несжатый).

Re: initrd?

Добавлено: 19 фев 2009, 10:20
Ларин
Berserker писал(а):CONFIG_BLK_DEV_RAM_SIZE должно быть больше либо равно чем du -k initrd (несжатый).
ага. т.е. в базовую систему можно поставить софт аля rdesktop и т.д.
перекомпилить ядро и создать initrd.
вопрос как создать этот initrd? в некоторых источниках пишется про какой-то скрипт mkinitrd или что-то подобное?

Re: initrd?

Добавлено: 19 фев 2009, 11:07
leave
Ларин, именно man mkinitrd. Там все просто.

Re: initrd?

Добавлено: 19 фев 2009, 11:37
Ларин
leave писал(а):Ларин, именно man mkinitrd. Там все просто.
угу. уже качаю дебиан.

Re: initrd?

Добавлено: 19 фев 2009, 14:17
Berserker
Ларин писал(а):
Berserker писал(а):CONFIG_BLK_DEV_RAM_SIZE должно быть больше либо равно чем du -k initrd (несжатый).
ага. т.е. в базовую систему можно поставить софт аля rdesktop и т.д.
перекомпилить ядро и создать initrd.
вопрос как создать этот initrd? в некоторых источниках пишется про какой-то скрипт mkinitrd или что-то подобное?
Если нравится дебиан, то создаёшь loop файл, там ext3, а в нём debootstrap-ом делаешь базовую систему. Делаешь там chroot и доставляешь другие пакеты. Настраиваешь сеть. Кладёшь модули ядра. Потом сжимаешь initrd. Оно и будет грузится.

Re: initrd?

Добавлено: 25 фев 2009, 13:52
Ларин
нда. в lenny нет mkinitrd
зато есть mkinitramfs

Re: initrd?

Добавлено: 26 фев 2009, 10:36
Ларин
хм. а могу я сделать с рабочей системы образ?
сделал mkdinitramfs -o file
гружусь по сети с этим образом и ядром. но все останавливается на маунте корневой фс. в syslinux можно указать маунт по nfs, но мне хочется обойтись без этого.

Re: initrd?

Добавлено: 27 фев 2009, 16:43
Ларин
короче сделал ядро с CONFIG_BLK_DEV_RAM_SIZE
сделал

Код: Выделить всё

find . | cpio -o -H newc | gzip -9 > /boot/initrd.img
гружусь по сети, но ядро не может загрузить корень. в чем трабл?

Re: initrd?

Добавлено: 27 фев 2009, 16:49
Ларин
видимо что-то в fstab надо прописать.

Re: initrd?

Добавлено: 27 фев 2009, 17:56
IceMan
Чтобы читать fstab, системе нужно сначала смонтировать корень. Скорее всего не все модули включены в initrd. lsmod в помощь.

Re: initrd?

Добавлено: 27 фев 2009, 20:44
Berserker
Ларин писал(а):короче сделал ядро с CONFIG_BLK_DEV_RAM_SIZE
сделал

Код: Выделить всё

find . | cpio -o -H newc | gzip -9 > /boot/initrd.img
гружусь по сети, но ядро не может загрузить корень. в чем трабл?

У меня всё работало. Но я делал не так. Я делал нулевой файл initrd размером около 90000K. там создавал файловую систему ext2. А потом этот файл уже сжимал. И получался initrd.gz. Ларин, попробуй просто взять моё ядро и мой initrd.gz и попробуй загрузи -- вдруг получится. http://tanatos.org/big.initrd.safe.boot/

Re: initrd?

Добавлено: 27 фев 2009, 20:54
Berserker
http://lists.alioth.debian.org/pipermai ... 00859.html

А вот начальный пункт для гугления , как сделать такой initrd "не вручную".