главная пошаговое создание livecd что такое linux ISO образы |
Операционная система с графическим интерфейсом |
Полезное
https://f-service.su купить кассовый аппарат атол онлайн кассы атол купить. |
ДОБРО ПОЖАЛОВАТЬ
Собери свой Ubuntu: Пересборка ядраТеперь можно заняться пересборкой ядра. Зачем? Во-первых, дабы избавиться от лишних его опций, а заодно и от необходимости initrd, подгружающего массу ненужных в каждом конкретном случае модулей. Конечно, без пересборки ядра можно и обойтись - но уж кутить так кутить, заиндивидуализируем систему до упора.
Так что устанавливаем инструментарий для сборки ядра:
который в качестве своих зависимостей втянет компилятор gcc, binutils и все прочее, необходимое для обеспечения процесса сборки любой программы. Однако для сборки ядра этого будет недостаточно. Потребуется также пакет
отвечающий за построение меню при выполнении make menuconfig, пакет
обеспечивающий получение помощи в этом нелегком деле, и пакет
назначение которого вполне прозрачно - это утилиты для управления модулями ядра. Наконец, возможно, не лишним окажется пакет fakeroot, одноименной командой которого создается "правильное" root-окружение, в том числе и доступ к необходимым файлам.
Теперь нужно то, вокруг чего, собственно, все и вертится - исходные тексты ядра. Их мы получаем, установив пакеты
представляющий собой собственно тарбалл исходников ядра (tar.bz2), и
с заголовочными файлами. В качестве зависимостей они вытащат нам все, что еще потребуется для сборки ядра.
Что ж, можно начинать процедуру. Переходим в нужный каталог
и посредством команды ls видим в нем файл linux-source-2.6.17.tar.bz2. Каковой подлежит немедленному распаковыванию:
Перемещаемся во вновь возникший каталог
и копируем в него последний из наличных конфигов
Он понадобится, чтобы не начинать конфигурирование ядра с "чистого листа".
Теперь все делаем, как обычно, то есть конструируем меню конфигурации ядра:
Во многих источниках указывается, что эту процедуру можно выполнить от лица пользователя. Что неверно: выполнение сценария генерации ядра требует доступа к некоторым файлам, закрытым для обычных пользователей, и потому невозможно без привилегий администратора.
К слову сказать, процесс пересборки ядра требует административных прав на протяжении длительного времени, так что ввод команды sudo и в дальнейшем пользовательского пароля может и притомить. Так что не лишено резона получить права root-оператора бессрочно - с помощью команды
Впрочем, осторожнее поступить так, как я описывал выше - но это оставляю на усмотрение пользователя. Так вот, сгенерировав меню конфигурации, приступаем собственно к конфигурированию. Описывать эту процедуру в деталях не буду - это много раз делалось до меня и будет делаться впредь, так как сведения о конкретных опциях ядра устаревают довольно быстро, со сменой версий. Остановлюсь лишь на моментах. которые представляются мне существенными. И тех опциях, где, по моему мнению следует отступить от умолчаний исходного конфигурационного файла.
Так, в разделе General setup я предпочитаю включить опции
что обеспечивает доступ к конфигурации текущего ядра через файловую систему procfs: ее можно будет просмотреть простой командой
а не рыться в поисках актуального в данный момент конфига по каталогу /boot или /usr/src/linux-*
В секции Block layer я отключаю строку
за ненадобностью: ну нет у меня дисковых устройств более 2 терабайт объемом.
В секции Processor family следует подобрать возможно близкий тип процессора. В моем случае (32-битный Sempron) это будет, очевидно,
Сам по себе Sempron в списке доступных типов процессоров отсутствует.
Здесь же можно отключить такие явно ненужные вещи, как
< > Dell laptop support
Если, конечно, ядро не собирается именно для этих ноутбуков. Ну и такие Intel-специфические вещи, как
также выглядят лишними. В общем, для отключения в ядре архитектурных излишеств - перспективы огромные. Главное - не увлечься и не отключить что-либо критически важное. И еще: поскольку ранее решено было отказаться от initrd при загрузке, следует очень внимательно проверить, что поддержка устройств и файловых систем, несущих корневую файловую систему, была встроена в ядро, а не собиралась как загружаемый модуль.
То же самое относится к чипсету - очевидно, что в конкретной машине он будет один, наример, в моем случае
Поддержку же прочих, не имеющих быть в наличии, чипсетов можно спокойно отключить. Аналогично поступив и с многочисленными SCSI-адаптерами - хотя сама по себе поддержка SCSI-интерфейса
родового класса SCSI-устройств
и SCSI-дисков
в разделе SCSI device support следует оставить - они обеспечивают работу с USB-накопителями любого рода и носителями цифровых камер. В большинстве случаев можно смело отключать и опцию [*] Multiple devices driver support (RAID and LVM) в разделе Multi-device support (RAID and LVM). Если, конечно, LVM и программный RAID действительно не используются. Наконец, нет ни малейшей необходимости в поддержке всего наличного изобилия сетевых устройств и протоколов.
Закончив конфигурирование, выходим из menuconfig с сохранением изменений и запускаем
Необходимость этого на чистом, казалось бы, дереве исходников определяется тем, что на следующей стадии будет задана собственная нумерация сборок ядра, и все следы предыдущих версий должны быть уничтожены.
А вот теперь - собственно сборка:
Здесь fakeroot, как уже было сказано, задает "правильное" root-окружение, команда make-kpkg выполняет собственно сборку ядра и модулей (подменяя собой обычные make vmlinuz и make modules), --append_to_version, --sempron и --revision=rev.01 задают дополнения к имени собираемого пакета, каковым в качестве basename выступает kernel_image.
Теперь остается только ждать завершения процесса. На моей машине с процессором Mobile Sempron 3300+ (реальная тактовая частота - 2 Ггц) и при моей конфигурации ядра он продолжается около 30 минут. А результатом его будет появление в каталоге /usr/src файла вида linux-image-2.6.17.6-sempron_rev.01_i386.deb, представляющего собой самый обыный deb-пакет, который остается только установить. Что мы и проделываем обчным же образом - переходим "на этаж выше" в файловой иерархии
и даем команду
которая и выполнит всю остальную работу, то есть развернет архив пакета и скопирует ядро, его служебные файлы и собранные модули куда надо. Теперь остается только обеспечить запуск нового ядра редактированием конфигурационного файла загрузчика и рестартовать систему.
Хотя нет - нам надо предохранить установленный пакет от обновления при глобальной операции типа aptitude dist-upgrade, иначе мы после нее получим следующую сборку умолчального ядра, то есть все наши трды пойдут прахом. В этом деле прибегнем к интерактивному режиму программы aptitude. В ее списке установленных пакетов отыскиваем собранный нами, нажатием клавиши <=> фиксируем его и нажатием горячей клавиши |
LiveCD.SU |