Ядреные дела

Изображение пользователя moisha.
Опубликовано:
Раздел:

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


"Азбуку, азбуку учи!" Т. Толстая "Кысь"

Изображение пользователя sergeil.

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

Цитата:
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. Переустановить загрузчик.


Админ админу - друг, товарищ и ман...
(c) Almaty

Изображение пользователя moisha.

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

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


"Азбуку, азбуку учи!" Т. Толстая "Кысь"

Изображение пользователя sergeil.

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

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

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


Админ админу - друг, товарищ и ман...
(c) Almaty

Изображение пользователя Tigro.

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

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


Да что вы все вокруг да около? Да спрашивайте напрямик! В. С. Высоцкий.

Изображение пользователя sergeil.

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

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

#make mrproper

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


Админ админу - друг, товарищ и ман...
(c) Almaty

Изображение пользователя moisha.

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

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


"Азбуку, азбуку учи!" Т. Толстая "Кысь"

Изображение пользователя slavaz.

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

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

Изображение пользователя moisha.

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

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


"Азбуку, азбуку учи!" Т. Толстая "Кысь"

Изображение пользователя sergeil.

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

Цитата:
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. То есть, будет дешевле вытащить новое ядро...


Админ админу - друг, товарищ и ман...
(c) Almaty

Изображение пользователя moisha.

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

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


"Азбуку, азбуку учи!" Т. Толстая "Кысь"

Изображение пользователя sergeil.

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

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

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

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


Админ админу - друг, товарищ и ман...
(c) Almaty

Изображение пользователя moisha.

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

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


"Азбуку, азбуку учи!" Т. Толстая "Кысь"

Изображение пользователя sergeil.

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

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


Админ админу - друг, товарищ и ман...
(c) Almaty