Собираю initramfs для одной домашней машинки, не могу победить одну проблему. Итак, есть ЭВМ, в ней sda — обычный IDE'шный диск, на нём корневая ФС, все необходимые драйверы в ядре (не модулями), ОС нормально загружается без всяких initramfs, всё работает.
Хочу сделать initramfs который будет делать fsck, короче не важно, хочу initramfs. Делаю по
http://en.gentoo-wiki.com/wiki/Initramfs
Создал директории bin, dev, lib, прочие, написал init на bash'е, #!/bin/bash в начале не забыл. Сделать init исполняемым не забыл, bash в bin положил, библиотеки в lib положил (как сами библиотеки, а так и symlink'и на них). Скопировать (cp -a) в dev устройсва console, null, sda, sda1, sda2 не забыл. Упаковал всё в cpio.gz, положил в /boot. В ядре поддержка initramfs включена. Создал в grub/menu.lst пункт с указанием моего ядра и initrd.
Но при запуске всё равно жалуется, что не находит /init, предлагает указать опцию init=. Пробовал, не помогает. Вопрос, что я забыл? Что сделать чтобы заработало?
Ещё меня смущает, что при загрузке не видно сообщения о cpio magic, что initramfs найден, загружен. Хотя grub точно что-то грузит, потому что с теми же параметрами в menu.lst, но без указания initrd загрузка проходит нормально, а с initrd — что я сказал, не находит init.