Ядреные дела

Аватар пользователя moisha

При пересборке ядра 2.4.22. все шло хорошо, т.е. прошел .config, make dep, make bzImage, а на make install получился облом, е.у. моду не пересобрались. Ошибок выдано - куча. Я-то думал, что если ядро пересобралось, то модули - дело десятое. Нарисуйте хотя бы направление в котором двигаться Грустный

Аватар пользователя sergeil

Re: Ядерные дела

Цитата:
moisha писал:
При пересборке ядра 2.4.22. все шло хорошо, т.е. прошел .config, make dep, make bzImage, а на make install получился облом, е.у. моду не пересобрались. Ошибок выдано - куча. Я-то думал, что если ядро пересобралось, то модули - дело десятое. Нарисуйте хотя бы направление в котором двигаться Грустный

Откуда ядро. Последнее стабильное ядро - 2.4.31?

1. Порядок компиляции, который я мог-бы рекомендовать.

1.1. Убедиться, что на Ваше дерево ядра есть дерево ядра и две символьные ссылки.

root# cd /use/src
root# lls -l | grep linux
lrwxrwxrwx 1 root root 9 Июл 20 2004 linux -> linux-2.4
lrwxrwxrwx 1 root root 12 Июн 2 08:39 linux-2.4 -> linux-2.4.31
drwxr-xr-x 15 root root 4096 Авг 11 11:23 linux-2.4.31

1.2. Зайти в дерево ядра

root# cd linux

1.3. Скопировать .config в безопвсное место, например Ваш $HOME

root# cp .config ~/config.current

1.4. Выполнить глубокую очистку дерева ядра

root# make mrproper

* Вы можете создать подверсию (например, назвав ее "-my"), заполнив поле EXTRAVERSION в файле Makefile дерева ядра. Рекомендуется, если эта версия ядра у Вас уже установлена.
# /usr/src/linux/Makefile

VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 31
EXTRAVERSION = -my

1.5. Вернуть .config тука, откуда Вы его скопировали.

root# cp ~/config.current .config

1.6. Ввыполнить актуализацию .config

root# make oldconfig

*** Далее идет стандартная последовательность компилляции и установки ядра 2.4

1.7. Выполнить настройку зависимостей.

root# make dep
root# make clean

1.7. Выполнить компиляцию ядра и модулей.

root# make bzImage
root# make modules

1.7. Выполнить установку модулей и ядра.

root# make modules_install
root# make install

1.8. Проверить конфигурацию загрузчика (lilo, grub, etc).
Новое ядро должно быть установлено параллельно со старым.

1.9. Переустановить загрузчик.

Аватар пользователя moisha

Re: Ядерные дела

Попробую, спасибо Улыбка

Аватар пользователя sergeil

Re: Ядерные дела

Цитата:
moisha писал:
Попробую, спасибо Улыбка

Успехов...
Не забудьте поделиться впечатлением...

Аватар пользователя Tigro

Re: Ядерные дела

Нужно сделать сперва make distclean (сотрет .config), а то модули не соберуться (что и было), а потом уже make dep, make bzImgae.

Аватар пользователя sergeil

Re: Ядерные дела

Цитата:
Tigro писал:
Нужно сделать сперва make distclean (сотрет .config), а то модули не соберуться (что и было), а потом уже make dep, make bzImgae.

#make mrproper

Делает практически то-же что и distclean. Не помню кто из них сильнее чистит, но результат уже достаточный.
То есть, в моей последовательности, make clean - избыточен. Вставлен исключительно для сохранения рекомендованной последовательности действий, поскольку уже и так все почищено по самое немогу.
Улыбка

Аватар пользователя moisha

Re: Ядреные дела

В порядке уточнения:
попалась заметка о том, что патчить ядро можно только ступенчато, т.е. версию 2.4.5 до 2.4.6, затем 2.4.6 до 2.4.7. и т.д. А кумулятивно, сразу до 2.4.31 нельзя?

Аватар пользователя slavaz

Re: Ядреные дела

Можно написать некий скрипт, который "кумулятивно" тучу патчей наложит в определённом порядке, можно сделать diff хоть между 2.4.x и 2.6.x и потом этот патч разово применять.

Аватар пользователя moisha

Re: Ядреные дела

Ну, пока это не для меня Грустный :thanks:

Аватар пользователя sergeil

Re: Ядреные дела

Цитата:
moisha писал:
В порядке уточнения:
попалась заметка о том, что патчить ядро можно только ступенчато, т.е. версию 2.4.5 до 2.4.6, затем 2.4.6 до 2.4.7. и т.д. А кумулятивно, сразу до 2.4.31 нельзя?

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

В дерево ядра складываются все стабильные патчи (patch-2.4.*) и вызывается
./scripts/patch-kernel
Он сам наложит патчи в нужном поряке, опираясь на версию ядра в Makefile

Но, если сложить размер всех патчей, то может оказатся, что он больше, чем размер ядра 2.4.31. То есть, будет дешевле вытащить новое ядро...

Аватар пользователя moisha

Re: Ядреные дела

Может смешной вопрос, но нигде не могу найти ответ:
процесс пересборки ядра - дело довольно долгое, особенно разобраться с с тем, что выкинуть, а что включить в ядро или оставить модулем (тем более, что с аглицким - напряженка).
Так вот, можно ли прервать процесс настройки ядра, т.е. вернуться к сохраненному файлу ./config позднее? Команда make menuconfig при выходе спрашивает о сохранении файла, так можно ли к нему вернуться?

Аватар пользователя sergeil

Re: Ядреные дела

Цитата:
moisha писал:
Может смешной вопрос, но нигде не могу найти ответ:
процесс пересборки ядра - дело довольно долгое, особенно разобраться с с тем, что выкинуть, а что включить в ядро или оставить модулем (тем более, что с аглицким - напряженка).
Так вот, можно ли прервать процесс настройки ядра, т.е. вернуться к сохраненному файлу ./config позднее? Команда make menuconfig при выходе спрашивает о сохранении файла, так можно ли к нему вернуться?

Сохранение новой конфигурпции перезаписывает старую. В новой версии будут отражены все те изменения, которые вы успеете сделать. Вы можете выполнить часть конфигурирования, выйти с сохранением, сделать архивную копию текущей конфигурации на случай, если конфигурирование пойдет не так, как вы хотели-бы и потом продолжить... И так столько раз, сколько Вам нужно. Вы не ограничены ни в количестве этапов, ни во времени. Если Вы не станете делать архивных копий, то у Вас будет в резерве только Ваша последняя сохраненная копия на диске (самая свежая).

Если Вы будете хранить промежуточные этапы - храните их в безопасном месте (вне дерева ядра). Команды глубокой очистки, такие как make distclean, make mrproper удаляют файл конфигурации .config. Будьте внимательны.

Аватар пользователя moisha

Re: Ядреные дела

Премного благодарен :thanks:

Аватар пользователя sergeil

Re: Ядреные дела

Вопрос закрыт...

RSS-материал