|
|
  |
Компиляция ядра LINUX, Ошибка при компиляции. |
|
|
|
Feb 23 2007, 10:25
|
Участник

Группа: Новичок
Сообщений: 71
Регистрация: 4-08-06
Из: Санкт-Петербург
Пользователь №: 19 318

|
Всем доброго времени суток. Помогите пожалуйста вот с какой проблемой. У меня стоит RED HAT на VMWare Workstation. Я попытался перекомпелировать ядро LINUX. Я скачал исходники ядра 2.6.20. Когда дошел до команды make bzImage началась компиляция, но заканчилась она не успешным завершением, а сообщением, которое приведено в приложенной картинке. Если кто-нибудь знает в чем дело подскажите пожалуйста.
|
|
|
|
|
Feb 23 2007, 16:02
|
Участник

Группа: Новичок
Сообщений: 30
Регистрация: 28-01-05
Пользователь №: 2 260

|
скорее всего надо обновить bin-utils. кстати в RH рекомендуется обновляться из rpm-ов. Кстати, какая текущая версия ядра?
|
|
|
|
|
Feb 23 2007, 17:21
|
Участник

Группа: Новичок
Сообщений: 71
Регистрация: 4-08-06
Из: Санкт-Петербург
Пользователь №: 19 318

|
Текущая версия 2.4.20. А обновляю таким образом, так как нужно сделать своеобразный загрузачный винчестер. Т.е. взять винчестер залить на него загрузчик и ядро, настроить соответствующим образом и подключить к системе с одним только BIOS, надо чтобы это все заработало. Вот я и хочу для начала скомпилировать ядро и посмотреть как загрузчик настраивается.
Можно еще в догонку вопрос. Ведь если скопировать просто образ ядра и настроить на него загрузчик(расположенный на винчестере), это работать не будет. Что еще нужно сделать, чтобы такая система начала жить?
|
|
|
|
|
Feb 24 2007, 08:01
|
Участник

Группа: Новичок
Сообщений: 71
Регистрация: 4-08-06
Из: Санкт-Петербург
Пользователь №: 19 318

|
Понял, отстал. Будем компилеть 2.4.xx. Хотя надо будет почитать как на 2.6.хх перейти.
|
|
|
|
|
Feb 24 2007, 09:31
|
Участник

Группа: Участник
Сообщений: 59
Регистрация: 12-12-05
Пользователь №: 12 125

|
Цитата(Илья_Антоненко @ Feb 23 2007, 17:21)  Ведь если скопировать просто образ ядра и настроить на него загрузчик(расположенный на винчестере), это работать не будет. Что еще нужно сделать, чтобы такая система начала жить? Покури man initrd. Для быстрого "въезда" можешь глянуть здесь: _http://posix.ru/distro/rip/ При загрузке initrd грузиться в память загрузчиком, как и ядро. Посему, смотри man на свой загрузчик. Если GRUB могу пример конфига кинуть. Подробнее можно прочесть здесь: _http://www.opennet.ru/opennews/art.shtml?num=8017 В 2.6.х на смену initrd пришла новая фича -- initramfs. Интересна тем, что не блочное устр-во. Т.е. если файлы с initrd, как и с RAM-диска еще и дополнительно кешировались в памяти, то initramfs, как и tmpfs, фактически представляет собой "...по сути примонтированный кэш ядра." (_http://www.opennet.ru/opennews/art.shtml?num=7156). До кучи могут еще и в своп вытесняться, дополнительно освобождая память. С inintrd у меня как-то не срослось (надобности ковырять небыло), а с initramfs сейчас себе роутер собрать пытаюсь. Чем понравилась именно initramfs -- ее образ (файл архива *.cpio), можно слинковать с ядром пири компиляции последнего. Т.е. при необходимости написания своего загрузчика задача упрощается -- надо будет грузить всего один файл, ядро, а уж оно там само разберется, что к чему. Позабавило, что при использовании tmpfs, отпадает надобность в форматировании устройства (онож не блочное) и код остальных fs (ext2/3, reiser и т.д.) можно просто выкинуть из ядра. Из последних достижений -- образ bzImage размером 645 килов. Это, вместе с прилинкованным образом initramfs. Правда, отключено все что можно, включая сеть, УСБи и пр... PS. чуть не забыл. :-) Поскольку экспериментирую с uClibc, для борки образа initramfs пользуюсь buildroot'ом. Должен быть на uClibc.org.
|
|
|
|
|
Feb 27 2007, 12:18
|
Участник

Группа: Новичок
Сообщений: 71
Регистрация: 4-08-06
Из: Санкт-Петербург
Пользователь №: 19 318

|
Да, именно с initrd у меня незадача и вышла. Ядро я перекомпилил, вроде все нормально. Настраиваю Grub на работу с другим ядром, пишу ему root ..... kernel.... root=.... initrd.....
Точных параметров не помню, все это дома, а я сейчас пишу с работы. Но общий смысл такой, после root= пишу тот раздел, где команда df олпределяет корневой каталог. Далее перезагружаю, дохожу до момента загрузки, выбираю свое ядро, а дальше после некоторых шагов загрузки получаю kernel panic, связанный с тем, что не может примонтировать VFS. Предварительно сообщает, что патаметр root= задано не правильно. Честно говоря не знаю, что делать.
Может есть какой-нибудь совет, ну или ссылка где можно увеличить багаж знаний.
|
|
|
|
|
Feb 27 2007, 19:28
|
Участник

Группа: Участник
Сообщений: 59
Регистрация: 12-12-05
Пользователь №: 12 125

|
Цитата(Илья_Антоненко @ Feb 27 2007, 12:18)  Может есть какой-нибудь совет, ну или ссылка где можно увеличить багаж знаний. Я, когда у меня только начался интерес к процессу загрузки пингвина, ковырял Movix. Его initrd потрошил. Понравилось, как там определение оборудования сделано. Цитата(Илья_Антоненко @ Feb 27 2007, 12:18)  Далее перезагружаю, дохожу до момента загрузки, выбираю свое ядро, а дальше после некоторых шагов загрузки получаю kernel panic, связанный с тем, что не может примонтировать VFS. Предварительно сообщает, что патаметр root= задано не правильно. Честно говоря не знаю, что делать. Здесь все просто. В initrd выполняется /initrc (кажется), который может быть скриптом. После выхода из него, ядро пытается примонтировать то, что было задано при компиляции или при загрузке с помощью опции root=... Если такового не существует, ведро впадает в панику. Вывод, здесь два варианта. Первый описан в man initrd, и реализован в в различных дистрибах (в Movix'е в том числе), т.е. подгрузить модуль для дискового девайса и нужной fs и ядро потом само подмонтирует нужный раздел. Второй, и наиболее простой, ИМХО, просто не выходить из /initrc...
|
|
|
|
|
Feb 27 2007, 19:50
|
Участник

Группа: Участник
Сообщений: 59
Регистрация: 12-12-05
Пользователь №: 12 125

|
Цитата(Илья_Антоненко @ Feb 27 2007, 12:18)  Точных параметров не помню, все это дома, а я сейчас пишу с работы. Но общий смысл такой, после root= пишу тот раздел, где команда df олпределяет корневой каталог. Упс... Пропустил мимо ушей... В продолжение предыдущего поста. Не люблю гадать на кофейной гуще, но пара вопросов есть. Что у вас за винт/контроллер (SATA/PATA), есть ли поддержка сего в загружаемом ядре. Если скомпилена, то как? Модулем или вкомпилена, если модулем, то его и надо в initrd подгружать (для этого он и придуман ;-). Включена ли в ядре поддержка fs с данного раздела, опять, как она включена... Без всего этого ведро и будет в панику падать.
Сообщение отредактировал Damon - Feb 27 2007, 19:52
|
|
|
|
|
Feb 28 2007, 14:30
|
Участник

Группа: Новичок
Сообщений: 44
Регистрация: 10-10-06
Пользователь №: 21 161

|
Цитата(Илья_Антоненко @ Feb 27 2007, 11:18)  Да, именно с initrd у меня незадача и вышла. Ядро я перекомпилил, вроде все нормально. Настраиваю Grub на работу с другим ядром, пишу ему root ..... kernel.... root=.... initrd.....
Точных параметров не помню, все это дома, а я сейчас пишу с работы. Но общий смысл такой, после root= пишу тот раздел, где команда df олпределяет корневой каталог. Далее перезагружаю, дохожу до момента загрузки, выбираю свое ядро, а дальше после некоторых шагов загрузки получаю kernel panic, связанный с тем, что не может примонтировать VFS. Предварительно сообщает, что патаметр root= задано не правильно. Честно говоря не знаю, что делать.
Может есть какой-нибудь совет, ну или ссылка где можно увеличить багаж знаний. В параметре root= задается девайс с которого загружается kernel. Например, root=/dev/ram rw . Полезная ссылка - тут
--------------------
Some days you eat the bear. Some days the bear eats you.
|
|
|
|
|
Mar 26 2007, 23:07
|

http://uschema.com
   
Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394

|
Цитата(KirillS @ Feb 28 2007, 14:30)  В параметре root= задается девайс с которого загружается kernel. Например, root=/dev/ram rw . Полезная ссылка - туткстати, может еще кому пригодится... для начинающих - по ядру не плохо описано здесь - http://linux4u.jinr.ru/docs/add04/kernel-2...nstall-2.0.html
--------------------
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|