09.01.2009 в 15:03 — Валерий
собрал новое ядро используя конфиги старого, однако при загрузке всё стопорится на ожидании ответа от рут фс. (строчкой выше он её находит). Предыдущая сборка ядра даже не находила рут фс. Уже прогресс! Хорошо, что старое ядро работает, можно исправлять свои косяки.
В /boot/grub/ для нового прописано тоже, что и для старого.
само ядро собиралось на базе старого и там должна была быть поддержка sata + я применил патч старого ядра + я подключил ещё одну поддержку sata в девайсах.
Как бы так пересобрать ядро, чтобы оно работало чуть дольше?
Комментарии
А собрано без initrd ?
ЗЫ Что за версии ядра старого/нового ?
Initrd сгенерировал?
Инитрд обязательно, только если немодульная поддержка ide и ext3 есть, да и то лучше мозги не ломать так.
И строчка root=/dev/?d?? должна быть. И в бутлоадере initrd надо указать.
initrd есть (и когда это я успел его собрать?)
ядро старое 2.6.18-6 (стандарт etch)
ядро новое 2.6.28 ()
title Debian GNU/Linux, kernel 2.6.28-custom
root (hd0,0)
kernel /boot/vmlinuz-2.6.28-custom root=/dev/sda1 ro
initrd /boot/-2.6.28-custom
идентично старому.
Думаю здесь дело не в буте, т.к. ядро загружается, но тупит.
о, такая трабла пару дней назад воникла. причём собирал с initrd и root=/dev/устройство прописано.
Валерий Тихонов
ну так а сам файл -2.6.28-custom существует?
Я на днях собрал 2.6.28
командой make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
установил пакеты
перезагрузился и всё работает. и initrd создался
Я так делал:
mkinitramfs -o /boot/-2.6.26-test 2.6.26-test
за кого вы меня держите? файл -2.6.28-custom лежит в /boot. единственное отличие - нету *.bak файла, который есть для 18-ого ядра.
Нужно именно 2.6.28 ?
Может устроит 2.6.26 из etch-backports ?
Да и вообще, для stable есть смысл ставить и не только ядро из backports, но и остальные программы.
Валерий Тихонов
Блин.... Ни за кого я тебя не держу!!! Я сказал как сам собирал на днях 28 ядро.
Не работает значит иди пересобирай заново. Я взял конфиг файл из 2.6.26(из бекпортов) и поставил свои галочки... некоторые убрал вот и всё. А патчи.... они мне не нужны.
Это образное выражение. :p
Из бекпортов собираться должно легче. (насколько я понимаю, нужно просто поставить галочку в aptitude (или аналог) ).
Просто я использовал конфиг рабочего ядра и сильно удивился, когда ядро не заработало.
2 #10 у меня Lenny, да и 28 больно хочется, Линус так красиво всё расписал, одна поддержка ext4 чего стоит. Эх, скорее бы usb.3.0.
Буду пересобирать, пока не пересобирётся, больше, видимо, ничего не выйдет.
P.S.: если свежих надписей от меня не появится, то ни одно ядро не работает ;)
Дык все-таки между 2.6.18 и 2.6.28 много времени прошло, не удивительно что конфиг не заработал.
есть, конечно, вариант поставить все промежуточные ядра)) Или накачать авто-патчей (правда не знаю, будут ли они перепрыгивать с версии на версию).
неужели придётся настраивать конфиг своими кривыми ручками?!
Дык тут два варианта)
1) Сделать как я)
Я поставил из синаптика ядро 2.6.26 и хэдеры и там к моему удивлению оказался .configure я его и использовал+поставил свои галочки.
2) словарь компьютерого английского на колени, времени побольше и самому читать и ставить что в ядро что в модули а что нафиг не надо))
Сергей, у меня было что-то в этом роде.
В моём случае ошибка была в том, что в /etc/initramfs-tools/ у меня указано moules = list
Новое ядро из репозиториев не запускалось по той причине, что initramfs не содержал модуля ext3, т.к. из /etc/initrams-tools/modules я его убрал (обычно сижу на своём скомпиленном ядре, в которое ext3 компилирую изначально, не в виде модуля).
Т.е. нужно
1) Загрузиться с life-cd
2) Примонтировать раздел с корневой системой
3) Chroot'нуть раздел
4) В /etc/initrams-tools/modules добавить модуль корневой файловой системы
5) update-initramfs -u -k all # -u - чтобы обновить а не пересоздавать с нуля. На всякий пожарный
6) Перезагрузиться :)