Сразу скажу, что взаимонепонимание исключительно на совести тех, кто читает не то, что написано. У Маркса нигде не написано, что подъезд Калабуховского дома на Пречистенке надо заколотить досками, и я тоже нигде не писал, что не дублирую двухстраничный тред потому, что не уважаю специалистов и мне лень пальцем шевельнуть для их удобства, а вовсе не потому, что двухстраничную простыню тащить в тему считаю ещё более похабным поведением. Как и укрывание части фактов от тех, кому они могли бы быть полезны. Если кто-то автоматически в уме подставил к реальным словам то, что написано курсивом — это скорее их портрет рисует, чем мой. Правда, не ожидал, что их будет так много. Если необходимой частью «проявления уважения» считается обилие текста — фигня-война, только намекните. Надеюсь, это прояснило ситуацию, и я хочу покончить с гуманитарными проблемами (желательно перманентно, без рецидивов) и перейти к техническим.
Итак. Первичная задача: в дистрибутив Lubuntu 13.10 Alternate Installer внедрить своё ядро. Точнее, оба (и .deb-пакет, который будет устанавливаться при использовании этого дистрибутива, и само то ядро, которое этот дистрибутив грузит и использует для своей собственной жизнедеятельности). Сначала, конечно, собственное ядро, потому что с .deb-пакетом задача мне кажется несколько тривиальной. Забудем его вообще пока.
Теперь лог экспериментов в стиле «бочку сделал, тунца с гречкой съел, не помогло».
1) С этого самого дистрибутива поставил Любку на первый попавшийся десктоп. Воспользовавшись мануалом «сборка ядра для самых маленьких» (он же http://pingvinus.ru/note/linux-kernel-compile) выполнил следующие простые вещи:
sudo apt-get install build-essential kernel-package libncurses-dev
sudo apt-get install linux-source
cd /usr/src
sudo tar xjf linux-source-3.11.10.tar.bz2
sudo ln -s linux-source-3.11.10 linux
cd /usr/src/linux
sudo make oldconfig
Вот тут у меня возник первый вопрос, с которым нужно обращаться к знающим людям, а не к гуглятине. А дефолтные параметры ядра в установленной системе подходят ли для ядра, на котором установщик будет крутиться? Всё-таки не LiveCD, а Alternate. Поскольку я не знаю, я довёл вивисекторский опыт до конца. Особенно меня смущают нюансы с модулями.
sudo make menuconfig
Нашёл и поменял то, что нужно найти и поменять. Сохраниться не забыл, нет :)
sudo make-kpkg clean
(на всякий пожарный почистил, просто я заодно и себе тюненое ядрышко собрал, но это оффтоп уже)
sudo make-kpkg --initrd --append-to-version=-mykernel kernel_image kernel_headers
Ну, и спокойной ночи :) Утром убедился, что в гнезде появились два кукушачьих яйца .deb-формата (ядро и хедеры, очевидно). Двойным кликом в папке (ну да, да, через гуйный PCManFM, хотя какая к чёрту разница...) вылупил из яйца кукушонка. Ребутнулся, ессно прощёлкал клювом grub menu %) но через
uname -r
убедился, что «майкернел» имеет место быть. Удостоверился, что Любка с моими ковыряниями в ядре вполне жизнеспособна. Не без подсказки добрых умных людей убедился, что в директории нет, опять в папке, я опять через PCManFM смотрел %) по фамилии /boot присутствует каноничное, описанное здесь вот содержимое: config, initrd.img, System.map и — дайбохздоровья Торвальдсу — vmlinuz.
Тут возникает второй вопрос к узким кругам знающих больше, чем можно нагуглить за вечер. Куда, собственно, на этом чёртовом загрузочно-установочном CD вбрасывать кукушонка? Родные vmlinuz и initrd.gz лежат в /install. Там они и были торжественно мной заменены (при помощи iso-редактора, который очень деликатно относится к тем областям, которые менять не надо) на позаимствованные из /boot, предварительно убедившись, что они так же и тем же сжаты, просто чтобы посмотреть, на какой стадии это грохнется. Грохнулось всё на правильной стадии, то есть я поменял то, что нужно было поменять :) Это было тривиально и очевидно. А за остальным я, собственно, к вам и постучался.
Видимо, карта вызовов функций ядра куда-то жёстко вшита. Внемлю.