[Linux] заменить ядро
В дебиане, например ядро для атлона: apt-get install linux-image-2.6.14-1-k7
у меня ядро в исходниках. Дистр - Мандрива 2006 x86_64
если ты собираешь ядра сам, то нужно скопировать файл ".config" из исходников старого ядра в новое, после чего сделать "make oldconfig", который спросит только про новые фичи, а старые настройки возьмет из предыдущей конфигурации.
make
make install
?
А откатить потом как, если вдруг чего не то?
З.Ы. не... лучше всё подробно )
а предыдущее ядро ты сам собирал и ставил или оно стандартное из дистрибутива?
из дистрибутива
Если нет, то надо читать общую инфу по сборке и установке ядер (я уже не помню деталей — давно вручную не собирал а лучше специальную для мандривы инфу. Наверняка у них есть готовый набор скриптов для сборки и установки ядер.
Если все будешь делать вручную:
Конфигурацию старого ядра наверняка можно откуда-то вытащить. У меня, например, она лежит в /boot/config-2.6.14-1-k7.
(при копировании в папку исходников этот файл нужно переименовать в .config) Еще может быть в /proc/config.gz (нужно распаковать перед использованием)
Далее за точность не ручаюсь.
make oldconfig
make dep
make bzImage
make modules
make modules_install
потом скопировать ядро из arch/x86_64/boot/bzImage предположительно в /boot/vmlinuz-2.6.14-my
нацелить туда загрузчик (lilo, grub или что там у тебя обязательно оставив старое ядро в качестве альтернативы — всегда можно будет загрузить его, если что-то пойдет не так
ох ёпт... Спасиб за развернутость... буду образовываться:)
потом скопировать ядро из arch/x86_64/boot/bzImage предположительно в /boot/vmlinuz-2.6.14-myА в загрузчик (lilo) ещё нужно прописывать какой-то initrd.img - какое отношение он имеет к ядру?
Можно ли его взять из старой конфигурации (при перекомпиляции ядра)?
Если использовать конфигурацию универсального ядра, то без initrd не обойтись. Как собирать initrd — не знаю. Это за меня всегда делает дебиановская инфраструктура сборки ядер.
Старый взять нельзя
самому собирать? В смысле, чё это за инфраструктура сборки? Она собирает тоже из исходников?
да, там все для людей сделано. Ставишь пакет с исходниками ядра, конфигурируешь его, дальше одной командой make-kpkg собираются ядро+модули+initrd в дебиановский пакетик (deb, типа rpm). Остается только установить этот пакетик. Все автоматом разложится в нужные места, и сразу в GRUB пропишется. Красота.
make oldconfig
make
make modules_install
а .config переписывать не надо? А если надо, то не пойму, куда
Тут писали уже про initrd, только чувак котоырй писал, не просек фишку сам, похоже. initrd нужен только для того, чтобы сделать универсальное ядро, которое грузится на любом железе и т.п. "Компактность" ядра тут совершенно не при чем. Если ты знаешь, какое железо будет во время загрузки, то ты спокойно компилируешь нужные части в ядро, и грузишься без извращений. Если ты не знаешь, какое будет железо во время загрузки (а дефолтное ядро из package конечно же не знает - оно ж супер-пупер универсальное то тогда делаешь минимальное ядро и initrd, в который напихиваешь все возможные драйвера + хитрый скрипт, который пытается при старте подгрузить все известные модули. В общих чертах примерно так.
В ядре хранятся какие-то настройки?
он тебя наебал. на ядрах 2.6.x нужно толькоОтцы линукса не выдержали и раскололись.
make oldconfig
make
make modules_install
Писав про initrd я исходил из того, что конфигурация меняться не будет, то есть будет собрано универсальное ядро.
если ядро патченное, то тебе надо найти аналогичные патчи для 2.6
если там ничего такого нет, то make menuconfig (на ncurces или make xconfig или make gconfig
а если совсем извращенец можещь make config или руками конфиг править
потом make bzImage
копируешь образ в boot
и дальше прописываешь в загрузчике
опционально может быть с модулями тогда надо еще make modules и make modules_install
Почему не
make dep modules bzImage modules_install install
?
less /usr/src/linux/README
потому что в 2.6.x переписали Makefile'ы все подругому.
Оставить комментарий
uncle17
что-то опять потянуло на эксперименты...Как заменить ядро с 2.6.12 на 2.6.14, не потеряв настройки, опции и т.д.
По инету вроде рылся, но особо даже не знаю, куда искать...