Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Как собрать самодельное ядро в (K)Ubuntu 7.04, и потом заставить работать nVidia  (Прочитано 53149 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн xintrea

  • Автор темы
  • Новичок
  • *
  • Сообщений: 38
    • Просмотр профиля
Сборка ядра в (K)Ubuntu 7.04. Пошаговая инструкция.


Небольшое предисловие.

Имеющаяся информация о сборке ядра сильно разнится, поэтому будем описывать сборку ядра именно для Ubuntu. Постараемся. чтобы в командах, написанных в этой статье, небыло ошибок. При описании процесса компиляции, не остановимся только на получении ядра. Получить работоспособное ядро - этого мало. Для владельцев карт nVidia, здесь будет дано описание, как получить систему с работащей графикой на новом ядре. Причем, графика будет работать как в старом ядре, так и в новом.


1. Установка исходников ядра

Вначале нам нужны будут исходники ядра. Для Ubuntu 7.04 в репозитарии они уже есть, нужно найти пакет linux-source-тратата (в нашем случае это будет linux-source-2.6.20), и установить его (все это можно сделать через Synaptic). После установки данного пакта, в каталоге /usr/src появится файл с именем linux-source-2-6-20.tar.bz2.

Делаем под sudo команду

Цитировать
chmod 777 /usr/src

Заходим обычным пользователем в каталог /usr/src и распаковываем этот файл

Цитировать
tar -jxvf linux-source-2-6-20.tar.bz2

Появится каталог с исходниками /usr/src/linux-source-2-6-20. Архивный файл удаляем (нужны будут права рута).


2. Установка сопроводительных пакетов

Для сборки понадобятся еще пакеты kernel-package, libncurses5-dev, fakeroot. Устанавливаем их через Synaptic. Само собой, в системе также должен быть установлен компилятор gcc и dev-пакеты для системных библиотек, такие например как libc6-dev.


3. Создание файла конфигурации ядра

Теперь нам нужен конфиг ядра, с которым собиралось ядро для убунты. Заходим в каталог /boot, и видим там файл типа config-2.6.20-15-generic. Он нам и нужен. Копируем его в каталог с исходниками /usr/src/linux-source-2-6-20 и переименовываем его в .config. Обратите внимание, что имя файла начинается с точки, это не опечатка.

Теперь, находясь в каталоге /usr/src/linux-source-2-6-20, даем под обычным пользователем команду

Цитировать
make menuconfig

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

Цитировать
make xconfig

В обоих случаях откроется интерфейсик с галочками, через который конфигурируем ядро. Вроде как по умолчанию как раз и открывается файл .config, который в данный момент и содержит стандартный конфиг ядра Убунты.

Что вы хотите наконфигурировать - думайте сами, по этому вопросу в инете много русскоязычной документации. В задачу этой статьи входит только описание самих действий, выполняемых при компиляции ядра Ubuntu.

В конце конфигурирования выбираем пункт "Save тратата кофигурацию", указываем имя файла, отличного от .config, например .config_my_01. Выходим.

Теперь переименовываем .config в .config_ubuntu. И у вас получается два файла - .config_ubuntu и .config_my_01. Вы можете посмотреть различия между стандартной и вашей конфигурацией, например так

Цитировать
diff .config .config_my_01

Теперь копируем вашу конфигурацию .config_my_01 под именем .config. Т.е. у вас получится 3 конфиг файла. При компиляции будет использоваться файл .config. Файлы .config_ubuntu и .config_my_01 нам помогут в будущем для новой компиляции. Это на тот случай, если новое ядро окажется неработоспособным или глючным.


4. Компиляция

Перед компиляцией обязательно проверяем наличие свободного пространства (на том разделе, где лежат исходники). Хорошо бы меть 4-5Gb (!) в запасе. При компиляции размер каталога с исходниками может разрастись до 3,5Gb. Проверить свободное пространство можно командой

Цитировать
df -H

Теперь, находясь под обычным пользователем в каталоге /usr/src/linux-source-2-6-20, даем команду, которая удалит в исходниках скомпилированные кем-то объектники, которые остались от предыдущей компиляции и находились в архиве.

Цитировать
make-kpkg clean

Потом через sudo получаем права рута и запускаем компиляцию.

Цитировать
make-kpkg --initrd --revision=mybuild.1.0 kernel_image kernel_headers

Где вместо "mybuild.1.0" пишите что вам нужно. Допустимы английские буквы, цифры, точки. Символы подчеркивания и тире не допускаются.

Вообще-то, по-хорошему, компиляцию ядра надо делать под правами обычного пользователя. Формально, создание бинарника ядра ничем не отличается от компилирования бинарника любой другой программы. Но мы делаем компиляцию не в ручном режиме (через команды типа make bzImage modules), а в полуавтоматическом (через make-kpkg). А эта программа, после прохождения компиляции, будет запускать из-под себя программу dpkg-deb чтобы получить deb-пакет с ядром. Вот в этот момент и потребуются права рута.

Теперь давайте разберемся, что же делает вышеприведенная команда. Она запускает компиляцию ядра, и затем создает deb-пакет с именем linux-image-версия.deb, в котором будут находиться бинарник ядра и модули ядра (это сделается благодаря цели kernel_image). А так же будет создан deb-пакет с именем linux-headers-версия.deb, в нем будут находиться заголовочные файлы ядра (это сделается благодаря цели kernel_headers). Полученные пакеты будут лежать в каталоге /usr/src.

Посмотреть, какие файлы находятся в этих deb-пакетах, можно в konqueror (в Kubuntu), щелкнув правой клавишей по на интересуемом deb-файле и выбрав "Kubuntu package menu" -> "Show package info". Информация будет формироваться довольно медленно, около минуты, так как пакеты большие.


5. Установка ядра

Теперь устанавливаем ядро. Находясь с правами суперпользователя в каталоге /usr/src, даем команду

Цитировать
dpkg -i linux-image-версия.deb

после которой ваше ядро (файл vmlinuz-2.6.20.3-ubuntu1) будет помещено в каталог /boot (все предыдущие ядра тоже никуда не денутся, останутся на своих местах), а в каталоге /lib/modules, рядом с каталогом с модулями обычного ядра (в Ubuntu 7.04 называется /lib/modules/2.6.20-15-generic) появится каталог с модулями вашего нового ядра (в нашем случае это будет /lib/modules/2.6.20.3-ubuntu1). Новое ядро будет автоматически прописано в /boot/grub/menu.lst.

Впринципе, уже можно перегрузиться, и в экране загрузки Grub появится новый пункт с вашим ядром. Новое ядро появится в начале списка. Но пока не спешим, а дадим еще команду

Цитировать
dpkg -i linux-headers-версия.deb

которая установит хедеры ядра в каталог /usr/src/linux-headers-версия, в нашем случае это будет каталог /usr/src/linux-headers-2.6.20.3-ubuntu1. Эти хедеры нам понадобятся, например, для перекомпиляции драйверов nVidia для нового ядра.


6. Перезапуск

Перегружайтесь, и в меню Grub вы увидите два новых пункта - обычная загрузка с вашим ядром, и загрузка в минимальном консольном режиме. Выбирайте первый пункт. Если ядро сразу не выпало в Kernel panic, то это хороший признак. Ждите конца загрузки. Если вам повезет, то Ubuntu загрузится в графический режим и покажет графическое приглашение входа в систему. В этом случае дальше можете не читать.

Но для пользователей карт nVidia, которые пользовали драйвера, установленными через "Менеджер проприетарных драйверов" или пользовали драйвера из пакета nvidia-glx (или там nvidia-glx-new), даю 99% гарантии, что вам не повезет! И графики под новым ядром вы не увидите!


7. Установка драйверов nVidia с сайта nvidia.com

Чтобы получить работающие иксы под новым ядром, первое что приходит в голову - это установить под новым ядром драйвера с сайта nvidia.com. И это неправильное решение! Как только установятся дрова под новым ядром, графика в вашем старом проверенном ядре работать перестанет (по причине того, что файлы драйверов nVidia жестко завязаны на версию и название ядра). А так как работоспособность нового ядра вы еще толком не проверили, вы можете получить систему "с родным ядром, но без графики" и "глючным ядром, зато с графикой". Думаю, никого такая ситуация не устроит.

В популярной статье "Ядерная физика для домохозяек", есть рекомендации, как получить графику под обоими ядрами. Предлагается следующий путь - иметь на готове установочный пакет дров с nvidia.com, и при желании загрузиться под конкретным ядром, надо сначала загрузиться в консольном режиме этого ядра, установить дрова, и потом загрузиться уже нормально. Думаю, такой подход тоже мало кого обрадует.

Мы сделаем так, что графика будет работать и в старом ядре, и в новом ядре, и для этого не нужно будет каждый раз запускать установку (компиляцию) дров. Для этого нам нужно будет выполнить только одно условие - чтобы графические дрова под разными ядрами были одной версии.

Краткий план действий - ставим дрова с сайта nvidia.com для стандартного ядра в полном объеме. Убеждаемся что они работают. Потом из этого же пакета ставим дрова для самодельного ядра, но в режиме "только графический модуль".


8. Установка драйверов nVidia под обычное ядро

Все, что ниже написано, подходит и для тех, кто просто решил установить новые дрова nVidia под стандартное ядро!

Качаем с сайта nvidia.com дрова под линух. Я себе качал дрова версии 96.43. Файл называется NVIDIA-Linux-x86-96.43.01-pkg1.run. Но вы можете попробовать другие стабильные релизы, которые присутствуют на сайте nVidia.

Для установки, создаем в каталоге /usr/src подкаталог с именем nvidia, копируем туда этот файл. Находясь в этом подкаталоге, даем файлу разрешение на выполнение

Цитировать
chmod 777 NVIDIA-Linux-x86-96.43.01-pkg1.run

Все, на этом работа в графическом интерфейсе на время заканчивается. Перед выходом из графрежима, запустите Synaptic, и убедитесь, что у вас стоит

  • aptitude. Это интерфейсная оболочка над пакетным менеджером для text-mode.
  • linux-headers-2.6.20-15. Это заголовочные файлы (хедеры) вашего стандартного ядра.
  • linux-headers-2.6.20-15-generic. Точно не скажу на кой хрен этот пакет, но пусть будет.

Хороший совет - иметь распечатаный текст данной статьи на бумажке, или сохранить его в текстовый файл, который можно посмотреть из текстового режима.

Перегружаемся в консольный режим обычного ядра (в Grub есть такой пункт). В Ubuntu вы автоматически получите права рута, даже пароль вводить ненадо. Теперь надо удалить дрова nVidia, которые есть в системе. Если вы устанавливали дрова через "Менеджер проприетарных драйверов" (или путем установки пакета nvidia-glx или nvidia-glx-new), то пакет nvidia-glx/nvidia-glx-new нужно удалить из системы, причем не просто деинсталлировать, а деинсталлировать в режиме purge.

Я достаточно тупой пользователь, и вместо того, чтобы разбираться с опциями dpkg, в консоли пользуюсь программой aptitude. Наберите команду

Цитировать
aptitude

и вы попадете в оболочку, оталенно напоминающую Synaptic. Вверху будет подсказка по клавишам. Чтобы попасть в меню, нажимаем Ctrl+t (неудобно, но что делать). В меню
стрелками и клавишей Enter находим и выбираем пункт "Find". Пишем строку поиска - nvidia-glx. Засветка попадет на нужный пакет. Снова вызываем меню, и находим там пункт "Purge". Нажимаем его, и пакет, на котором стоит засветка, будет помечен для полного деинсталлирования всех его файлов из системы (сам пакет останется в кеше, его можно будет заново установить при необходимости). Внизу появится подсказка - "e - Examine, ! - remove". Нажимаем "e" - и видим какие пакеты будут удалены. Если от nvidia-glx будут зависеть пакеты, то они тоже будут деинсталлированы. Обычно это пакет nvidia-glx-dev. Ничего страшного, что он удалится тоже.

Теперь нажимаем "!" (для особо одаренных - Shift+1), тем самым мы соглашаемся с нашими изменениями. Потом нажимаем "q" (выход). При выходе программа удалит отмеченные нами пакеты.

Теперь такой момент. Мы сейчас находимся на уровне init 1 (только консоль, куча сервисов не запущена). Если запустить инсталляцию драйвера nVidia, то она будет ругаться, что возможно у вас не запущен сервис devfs, который обычно запускается на уровне 3. Поэтому даем команду

telinit 3

и система догрузит нужные сервиса, а заодно выйдет из однопользовательского режима (появится несколько консолей, которые можно переключать клавишами ALT+F1...ALT+F6). Для дальнейшей работы нам как раз понадобится две консоли. Кстати, система попробует загрузить графику, ей это не удасться, т.к. драйвер мы только что удалили. И она останется в 7-й консоли с пустым экраном. Не паникуем, нажимаем ALT+F1, видим первую консоль, там вводим логин, пароль так же как и в графическом входе (только после логина и пароля нажимаем Enter а не TAB).

Залогинившись, вызываем mc под суперпользователем

Цитировать
sudo mc

Заходим в каталог /usr/src/nvidia и начинаем установку дров командой

Цитировать
./NVIDIA-Linux-x86-96.43.01-pkg1.run -e

Опция "-e" позволит нам видеть отчет о действиях и увидеть конфликтующие файлы. Начинаем установку. Соглашаемся с лицензией. Отказываемся от докачки исходников с ftp нвидии. Говорим OK что будут создаваться модули нами. На вопросы ввода путей просто нажимаем Enter.

В конце концов, перед самой установкой будет показан список файлов которые будут установлены. А в начале этого списка (если будут найдены) покажутся конфликтующие файлы. Будет написано "Backup file ..." - вот это они и есть. В моем случае это были файлы

/usr/lib/xorg/modules/extensions/libGLcore.so
/usr/lib/xorg/modules/extensions/libglx.so
/usr/lib/libGL.so
/usr/lib/libGL.so.1
/usr/lib/libGL.so.1.2
/lib/modules/2.6.20-15-generic/volatile/nvidia.ko
/usr/include/GL/glext.h
/usr/include/GL/gl.h
/usr/include/GL/glxext.h
/usr/include/GL/glx.h

Это файлы от пакета nvidia-restricted-modules. Дело в том, что если просто удалить этот пакет, то вместе с данными файлами удалятся и все файлы для nVidia-чипсетов (nVidia ведь не только видеокарточки делает). А так же потребуется удаление зависимых пакетов linux-restricted-modules-2.6.20-15-generic, linux-restricted-modules-generic и linux-generic. Поэтому удалять данный пакет нежелательно. Поэтому мы поступим по-другому.

Как только увидите такой список, логинтесь во вторую консоль (переход - ALT+F2), запускайте

Цитировать
sudo mc

и методично переносите эти конфликтующие файлы куда-нить в отдельный каталог в домашней директории, сверяясь со списком в первой консоли. Почему переносить а не удалять? Дело в том, что имена файлов в линухе "человеконечитаемые", и легко можно ошибиться и удалить не тот файл.

После того, как удалили все файлы, предназначенные для Backup, возвращайтесь в первую консоль. Прерывайте установку (Ctrl+c) и запускайте ее заново. Если "Backup file ..." больше не будет, то завершайте установку. Все должно пройти гладко. Можете согласиться с исправлением xorg.conf, всеравно содасться резервный файл.

Теперь внимание! Самое главное, в этот момент не перегрузиться! А зайти в файл /etc/default/linux-restricted-modules-common, и добавить в опцию DISABLED_MODULES модули nv и nvidia_new. У меня это сделано так

Цитировать
DISABLED_MODULES="nv nvidia_new"

Если этого не сделать, то при следующей загрузке файл (который вы удалили!) /lib/modules/2.6.20-15-generic/volatile/nvidia.ko будет автоматически восстановлен из пакета nvidia-restricted-modules. А ваш файл, который вы скомпилировали при установке драйверов, называется /lib/modules/2.6.20-15-generic/kernel/drivers/video/nvidia.ko. Так вот, при запуске иксов будет найден первый файл. А до вашего файла дело не дойдет. И иксы не смогут загрузиться.

Перегружаемся в стандарное ядро в полный режим. Если все сделали правильно, иксы запустяться. Радуйтесь, как минимум у вас осталась работоспособная система.


9. Установка драйверов nVidia под самодельное ядро

Теперь остался последний шаг - заставить работать графику в новом ядре. Тут все достаточно просто. Загружаемся в консольном режиме самодельного ядра. Даем команду

Цитировать
telinit 3

логинимся, и в первой консоли запускаем

Цитировать
sudo mc

Заходим в каталог /usr/src/nvidia и начинаем установку дров командой

Цитировать
./NVIDIA-Linux-x86-96.43.01-pkg1.run -Ke

Опции "-Ke" позволяют собрать только графический модуль nvidia.ko под текущее ядро (и файл будет помещен в каталог /lib/modules/имя_текущего_ядра/kernel/drivers). Никаких других общих файлов, которые например были бы размещены в /usr/lib... как при компиляции с опцией "-e", создаваться не будет.

Точно так, же как и при компиляции в стандартном ядре, соглашаемся с путями нажатием Enter. Доходим до экрана, где будут перечислены файлы, которые будут установлены. Если в начале этого списка есть конфликтущие файлы "Backup file ...", переключаемся в соседнюю консоль и удаляем (переносим) эти файлы.

После удаления конфликтующих файлов, в первой консоли прерывайте установку (Ctrl+c), и снова ее запускайте (с опцией "-Ke" естественно). После завершения установки перегружайтесь, выбрав в меню Grub в полный режим с вашим ядром.

Иксы должны запуститься. Вы можете радоваться второй раз - вы имеете систему с самодельным ядром и работащей графикой.


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


Со всяческими пожеланиями, Xintrea.

« Последнее редактирование: 15 Ноября 2007, 01:11:06 от xintrea »

Оффлайн Alsvartr

  • Активист
  • *
  • Сообщений: 779
  • The secret of the secret
    • Просмотр профиля
Я бы добавил в 3 пункт еще команду make xconfig, как альтернативу menuconfig. Первая более удобная и наглядная.

Оффлайн xintrea

  • Автор темы
  • Новичок
  • *
  • Сообщений: 38
    • Просмотр профиля

Оффлайн NoOne

  • Новичок
  • *
  • Сообщений: 27
    • Просмотр профиля
Несколько замечаний...
1. Я б всё-таки пертаскивал бы source домой. Как-то оно правильнее, что ли...
2. Для сборки (make-kpkg --initrd) есть отличная вещь - fakeroot.

P.S. Можно добавить ссылки в тему.
1. help.ubuntu.com
7.04: _ttps://help.ubuntu.com/7.04/installation-guide/amd64/kernel-baking.html#ftn.id2555906
Community: _ttps://help.ubuntu.com/community/Kernel/Compile
2. "Книжка" для Дебиана: _ttp://kernel-handbook.alioth.debian.org/index.html#contents
Home: K8.04.1 x86_64 (2.6.26.5-asus.w7j) @ Asus W7J
Work: K7.10 x86_64 (2.6.26.3-work)
Pocket: Maemo 4.1 (4.2008.30-2, 2.6.21-omap1) @ Nokia N810

Оффлайн xintrea

  • Автор темы
  • Новичок
  • *
  • Сообщений: 38
    • Просмотр профиля
Внесу пояснения, что имеет в виду NoOne

P.S. Можно добавить ссылки в тему.
1. help.ubuntu.com
7.04: _ttps://help.ubuntu.com/7.04/installation-guide/amd64/kernel-baking.html#ftn.id2555906
Community: _ttps://help.ubuntu.com/community/Kernel/Compile
2. "Книжка" для Дебиана: _ttp://kernel-handbook.alioth.debian.org/index.html#contents

1. help.ubuntu.com

7.04: https://help.ubuntu.com/7.04/installation-guide/amd64/kernel-baking.html#ftn.id2555906

Community: https://help.ubuntu.com/community/Kernel/Compile

2. "Книжка" для Дебиана: http://kernel-handbook.alioth.debian.org/index.html#contents

Оффлайн Masaki

  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Лучше бы на настройке заострили внимание, ибо она сложнее всего.

Оффлайн xintrea

  • Автор темы
  • Новичок
  • *
  • Сообщений: 38
    • Просмотр профиля
Лучше бы на настройке заострили внимание, ибо она сложнее всего.

А этого я сделать не могу, ибо сам не знаю.

Самая полная подборка о настройки ядра на русском языке на сегодняшний день описана в статье "Ставим ядро 2.6, или Ядерная физика для домохозяйки. Версия 2.0"

http://www.linuxnsk.ru/content/view/101/36/

Оффлайн Alsvartr

  • Активист
  • *
  • Сообщений: 779
  • The secret of the secret
    • Просмотр профиля
Самая полная подборка о настройке ядра - это три-четыре вкладки в файрфоксе с открытыми: гуглом, упомянутым выше мануалом "ядерная физика" и lingvo.yandex.ru :) Хотя после первой удачной сборки значительно легче - конфиг то есть уже.

Оффлайн goticneo

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Столько всего интересного. Попробовал на 7,04... Сначала собрал на базе последнего ядра скачаного с кернел орг и основываясь на "ядерной физике". кое-что получилось, но сатовый СДРОМ пропал из системы(видать что-то напутал с девайсами в xconfig-е) - зато сисема стала чуть-ли не в 2 раза шустрее. после 3-х дневных экспериментов (в груб меню уже было около 6 собранных ядер) решил апгрэдить систему на 7,10 - нвидия конечно слетела. В 7,10 опять эксперименты - тем же путем,но на базе ядра убунты - 6,22. Впечатления: в generic ядре убунты туча дров прописанно на девайсы которых нема в системе. Да и много еще чего лишнего понапиханно. Если строго придерживаться советов "ядерной физики" (что касается отключения ненужного) ну и самому читать описания предложенных к установке дров (изречение относительно xconfig было очень мудрым, так как в этом варианте при выделении всплывает короткое описание драйвера или сервиса, по которому при слабом знании английского и апаратной части своей машины можно догадаться нужно ли тебе это или нет (касается пунктов не упомянутых в "ядерной физике" - статья на данный момент уже немного устарела)), то можно добится поразительных результатов. А именно: все работает и намного быстрее чем при на обычном ядре. :D Кстати о производительности: 5 клиентов line age II запущенных одновременно работают без напряга (при условии что compiz отключен).
Еще хочу добавить о Nvidia. Наверное начинающим убунтятникам не сладко копаться с установкой этого счастья на каждом новом ядре (тем более, что до действительно работающего варианта будет не менее 3-х пробных) при том, что описанный сдесь метод мягко говоря не очень удобен :o. Предлагаю альтернативу - утилита написанная уважаемым Алберто Миллоне - "Envy". Найти ее не сложно - в гугле на это слово сразу же выбивает сайт Алберто. Утилита заточена именно под Ubuntu и представляет собой скрипт автоустановки видеодрайвера Nvidia. Причем с конфигурацией xorg, скачиванием всех зависимостей и самого драйвера и тд. и тп. Запускается как из иксов так и из терминала (в терминале команда "envy -t"). Очень удобная штука, особенно если вы скомпилили ядро, а после ресстарта иксы упали. Вводим вышеупомянутую в терминале; выбираем uninstal nvidia driver, после чего install nvidia driver. Приблизительно за 2 минуты у вас установленный драйвер с настроенным ксоргом. Кстати так и не понял почему (молодой еще, не оперился) но таким методом дрова встали на разные ядра и работают без проблем и всякого шаманства :angel: Но у каждого свои методы.
В общем, от процесса компилирования остались очень хорошие впечатления, хотя с ним познакомился не на Ubuntu а во время установки gentoo.
« Последнее редактирование: 12 Января 2008, 03:20:53 от goticneo »

Оффлайн blackjack

  • Участник
  • *
  • Сообщений: 127
    • Просмотр профиля
Статья немного устарела, и ядерная физика тоже. Ребята, а как узнать что именно надо включать в ядро? Я пересобрал и оно загрузилдось все нормально, только у меня такое чувство что я всеравно много лишнего оставил. Конфигурацию своего железа я знаю. размер ядра 153Мб.

Оффлайн DuDevil

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Статья немного устарела, и ядерная физика тоже. Ребята, а как узнать что именно надо включать в ядро? Я пересобрал и оно загрузилдось все нормально, только у меня такое чувство что я всеравно много лишнего оставил. Конфигурацию своего железа я знаю. размер ядра 153Мб.

Лучше всего читать и понимать за что отвечают модули,можно например почитать тут http://kernelnewbies.org/KernelHacking и хорошщая статья здесь http://www.linuxcenter.ru/lib/articles/system/kernel26_install.phtml#33
На случай если выкинишь лишнего лучше не убирать рабочее ядро из grub'a ;)
у меня 40 весит :)
« Последнее редактирование: 07 Апреля 2008, 23:38:13 от DuDevil »

Оффлайн blackjack

  • Участник
  • *
  • Сообщений: 127
    • Просмотр профиля

Оффлайн eprst

  • Любитель
  • *
  • Сообщений: 57
  • sudo mount /dev/hand /ass
    • Просмотр профиля
    • Курорты Краснодарского Края.
Что то не собираются пакеты в 8,04 по команде
Цитировать
sudo make-kpkg --initrd --revision=2.6.24.3 kernel_image kernel_headers
Модули собираются, а пакеты не получается сгенерить

Вываливается так

Цитировать
dpkg-deb: сборка пакета linux-image-2.6.24.3 в файл ../linux-image-2.6.24.3_2.6.24.3_i386.deb.
dpkg-deb: у управляющего каталога установлен недопустимый режим доступа 2755 (должен быть >=0755 и <=0775)
make[1]: *** [debian/linux-image-2.6.24.3] Ошибка 2
make[1]: Выход из каталога `/usr/src/linux-source-2.6.24'
make: *** [binary/linux-image-2.6.24.3] Ошибка 2

Как бы причина сообщается,  но googlе не знает как это исправить?
Причем когда я задаю права управляющему каталогу*
Цитировать
sudo chmod -R -c 755 /usr/src/linux-source-2.6.24/debian/linux-image-2.6.24.3
сообщается что изменены на 0755, но ошибка вылетает с  "недопустимый режим доступа 2755"
что означает эта двойка ?  менялось же на 0755
« Последнее редактирование: 14 Апреля 2008, 23:23:32 от eprst »
Desktop Ubuntu 15.04 x64 - Asus P5K-E - Xeon X5460 - GF 670GT
Курорты Краснодарского Края

Оффлайн P!LOT

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Цитировать
dpkg-deb: у управляющего каталога установлен недопустимый режим доступа 2755 (должен быть >=0755 и <=0775)
была такая же проблема.. помогло следующее: chmod g-s /usr/src

Оффлайн eprst

  • Любитель
  • *
  • Сообщений: 57
  • sudo mount /dev/hand /ass
    • Просмотр профиля
    • Курорты Краснодарского Края.
Спасибо
действительно помогло )
проблема решилась снятием бита (sgid)
Цитировать
sudo chmod -R -g-s /usr/src
после чего уже смог нормально задать права
Цитировать
sudo chmod -R 0775 /usr/src
и собрать пакеты
Desktop Ubuntu 15.04 x64 - Asus P5K-E - Xeon X5460 - GF 670GT
Курорты Краснодарского Края

 

Страница сгенерирована за 0.039 секунд. Запросов: 23.