OSDev
http://osdev.ru/

Linux-шишки
http://osdev.ru/viewtopic.php?f=12&t=627
Страница 7 из 9

Автор:  grindars [ 11 окт 2012, 18:34 ]
Заголовок сообщения:  Re: Linux-шишки

Yoda писал(а):
Скачал исходники 2.6.39.4.


А зачем древность-то такую?

Yoda писал(а):
Все варианты выдают какие-то странные ошибки, типа, у вас не установлен GTK+ 2.0 (хотя всё установлено) и даже NCURSES не установлены с точки зрения исходников (хотя куда же без них, конечно же есть!)


В дебиане библиотеки разделены на две части: исполняемые файлы (пакет libncurses5) и заголовки всякие (пакет libncurses5-dev, например). Для компиляции из исходников надо просто доставить последний. Сделано это для того, чтобы не тратить кучу места на диске под редко используемые файлы.

Yoda писал(а):
Единственно, что работает, это простой текстовый конфигуратор, на который надо отвечать y,n,m... Начал было я это дело, хотя помнил, что лет 10 тому назад это удовольствие могло надолго растянуться.


Он, по-моему, для ручной работы вообще не предназначен.

Yoda писал(а):
Мне интересно много ли самих разработчиков ядра знают, что такое sparse irq numbering и нужно ли ускорять последние non-dyntick-idle CPU's grace periods??? Похоже, даже просто компиляция ядра превращается в непосильную задачу.


Там справка есть к каждому параметру. По '?' вызывается.

Автор:  Yoda [ 11 окт 2012, 21:59 ]
Заголовок сообщения:  Re: Linux-шишки

Ой, я перепутал кнопки "ответить" и "редактировать". Опять. Приношу свои извинения. :oops: -- grindars

Yoda писал(а):
Боюсь, что третье ядро может оказаться несовместимым с остальной системой.


Там нет радикальных отличий от 2.6, оно стало 3.0 в общем-то просто так. Особо радикальных переделок там не было, насколько знаю, но может потребоваться обновить udev.

Yoda писал(а):
Не, тут ведь речь идёт не о компиляции. Конфигуратору надо просто менюшки рисовать. Или для этого тоже надо что-то компилировать?

Конфигуратор идет в исходниках, он и компилируется с ncurses при первом вызове menuconfig.

Yoda писал(а):
К счастью, оно подсосало конфиг дебиановского ядра, правда с несколькими (непринципиальными) возражениями. Поэтому я нажал Enter и держал его так (ввод по умолчанию), пока все вопросы не иссякли.


Проще было скопировать имеющийся конфиг (из /boot/config* или где он там лежал) в файл .config и make oldconfig сделать.

Yoda писал(а):
Ну далеко не по каждому. Только в весьма отдельных случаях, когда в подсказке "?" указан. Да и всё равно, несколько тысяч вопросов изучить - никаких возможностей не хватит.

На этот случай есть пачка стандартных конфигов, в arch/x86/configs лежат и вариациями на тему make defconfig выбираются.

Yoda писал(а):
Сейчас ядро компилируется (час прошёл). Посмотрим, что будет.


А что за машина? Есть смысл запустить многопоточную сборку, добавив ключ -j число_потоков, где число_потоков - количество ядер (или HT-шных потоков, если таковые есть) + 1.

Автор:  Yoda [ 12 окт 2012, 11:35 ]
Заголовок сообщения:  Re: Linux-шишки

Yoda писал(а):
Ой, я перепутал кнопки "ответить" и "редактировать". Опять. Приношу свои извинения. :oops: -- grindars

Бывает :mrgreen:.

grindars писал(а):
Там нет радикальных отличий от 2.6, оно стало 3.0 в общем-то просто так. Особо радикальных переделок там не было, насколько знаю, но может потребоваться обновить udev.

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

grindars писал(а):
А что за машина? Есть смысл запустить многопоточную сборку, добавив ключ -j число_потоков, где число_потоков - количество ядер (или HT-шных потоков, если таковые есть) + 1.

Жаль, что ты этого раньше не сказал. А то грустно компилировать три с половиной часа и видеть, что загрузка ЦП колеблется около уровня 25% :(.

Ядро скомпилировалось. Сначала надеялся просто скопировать модуль iwlagn.ko вместо старого, однако, фокус не прошёл. modprobe на него ругается. Установил модули и ядро, однако, оно не грузится. Новое ядро говорит, что не может найти модули. Я так понимаю, надо делать новый initrd, куда надо допихнуть их. Сегодня после работы продолжу сношения.

Автор:  Yoda [ 12 окт 2012, 15:13 ]
Заголовок сообщения:  Re: Linux-шишки

Yoda писал(а):
Я так понимаю, надо делать новый initrd, куда надо допихнуть их.

Даааааа!.. initrd - отдельное запредельное сношение! Распаковал имеющийся initrd (без гугла, конечно, не распакуешь), увидел, что модули действительно там. Только не все, а маааленькая часть. Причём в корне директории с модулями какие-то файлы зависимостей тоже сокращённые под соответствующий комплект модулей. Ппц!!! И чё теперь делать? Как мне выкорчёвывать лишние несколько десятков мегабайт модулей?
Блин, пусть кто-нибудь попробует после этого мне доказать, что Linux - самая классная ОС на свете :evil:!

Автор:  Incidence [ 12 окт 2012, 15:32 ]
Заголовок сообщения:  Re: Linux-шишки

В генте ваши проблемы решаются легко и непринуждённо созданием монолитного ядра со всеми дровами вкомпилеными в него без всяких initrd вообще.

Автор:  grindars [ 12 окт 2012, 16:20 ]
Заголовок сообщения:  Re: Linux-шишки

Yoda писал(а):
Даааааа!.. initrd - отдельное запредельное сношение! Распаковал имеющийся initrd (без гугла, конечно, не распакуешь), увидел, что модули действительно там. Только не все, а маааленькая часть. Причём в корне директории с модулями какие-то файлы зависимостей тоже сокращённые под соответствующий комплект модулей. Ппц!!! И чё теперь делать? Как мне выкорчёвывать лишние несколько десятков мегабайт модулей?
Блин, пусть кто-нибудь попробует после этого мне доказать, что Linux - самая классная ОС на свете :evil:!



Зачем собирать initrd руками, а? Устанавливаешь модули в систему (make modules_install) и делаешь update-initramfs -c -k версия_ядра, где версия ядра - название нового каталога из /lib/modules.
При последующих сборках делаешь не -c, а -u. Делать все руками, конечно, занятнее, но и жаловаться на сложности тогда не стоит ;).

Автор:  Yoda [ 12 окт 2012, 16:56 ]
Заголовок сообщения:  Re: Linux-шишки

grindars писал(а):
Зачем собирать initrd руками, а? Устанавливаешь модули в систему (make modules_install) и делаешь update-initramfs -c -k версия_ядра, где версия ядра - название нового каталога из /lib/modules.

А затем, что...
1. Это ж знать надо, что в принципе существуют средства для автоматизированного выпиливания, а не мантейнеры ручками понадёргали.
2. Ни в man initrd, ни в википедии ни слова не сказано про выпиливание в целом и update-initramfs в частности.
3. При поиске в интернете основные ресурсы ссылаются на mkinitrd, которого не существует ни в установленном Дебилиане, ни в одном из его репозиториев.
Красноглазие процветает! :evil:
Пошёл делать initrd...

Автор:  grindars [ 12 окт 2012, 20:20 ]
Заголовок сообщения:  Re: Linux-шишки

А, тут основной источник путаницы в том, что initrd был раньше, а сейчас применяется initramfs. Вещи сходные, отличаются детали (в initrd - образ ФС, в initramfs - архив, который распаковывается на tmpfs) и метод сборки. Но хуже всего то, что initramfs иногда называют initrd по привычке или ради совместимости.

В общем, надо было собирать дебовский пакет по вот этой вот доке. И не надо мне говорить, что красноглазики ее запрятали: лежит прямо на оффсайте в документации к дистру ;).

Автор:  Yoda [ 12 окт 2012, 22:23 ]
Заголовок сообщения:  Re: Linux-шишки

Ураааа!!!!! Сеть заработала!
Ну всё, слава Богу, теперь есть вполне используемый линух. Спасибо всем за помощь.

grindars писал(а):
В общем, надо было собирать дебовский пакет по вот этой вот доке. И не надо мне говорить, что красноглазики ее запрятали: лежит прямо на оффсайте в документации к дистру ;).

Ну и запрятали же её красноглазики :D.
Кстати, там какая-то совершенно левая методика сборки. Ну, коли заработало, то и ладно с ним. Фффуф, утираю пот со лба...

Автор:  grindars [ 12 окт 2012, 23:14 ]
Заголовок сообщения:  Re: Linux-шишки

Yoda писал(а):
Фффуф, утираю пот со лба...


Ну вот, прошел боевое крещение :). В следующий раз ставь текущий тестируемый сразу - он, как правило, достаточно рабочий. Обновление беспроблемно работает только между стабильными ветками, при обновлении на нестабильную приходится поработать руками (и головой), но обычно все разрешается достаточно легко.

Кстати, мануал почитай-таки, он на большинство вопросов ответит.

Страница 7 из 9 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/