Скорость загрузки ядра.

Здравствуйте!
При загрузке ядра происходит что-то странное:где-то 5 секунд занимает процесс сканирования чего-то.
куча строк такого формата.
scanning for:***
Ядро я собирал при помощи genkernel.Скажите,пожалуйста,какой параметр отвечает за этот процесс?Хочется выпилить.
Да,в dmesg это,естественно,не отражается-происходит до монтирования корня.

initrd от genkernel пытается

initrd от genkernel грузит все возможные модули из списка /usr/share/genkernel/arch/x86_64/modules_load
Я у себя этот список почистил до штук пяти нужных (хотя можно было и в ядро впилить) - сэкономил эти несколько секунд.
Дабы при пересборке genkernel не потерять настройки - можно внести каталог в список CONFIG_PROTECT portage.

А как его в этот список

А как его в этот список внести?

CONFIG_PROTECT="/usr/share/ge

CONFIG_PROTECT="/usr/share/genkernel/arch/x86_64/modules_load" в make.conf, очевидно

А как его в этот список

А как его в этот список внести?

Не проще ли собрать ядро

Не проще ли собрать ядро рекомендованным в хэндбуке образом?

:wq
--
Live free or die

Разумеется,проще.Но я слегка

Разумеется,проще.Но я слегка затра*ался разбираться с дровами nvidia,а с генкернел и мучений нет...

Я не знаю,почему мои

Я не знаю,почему мои сообщения дублируются,заранее сори.

Выключи HTML в почте

Выключи HTML в почте

Я не знаю,почему мои

Я не знаю,почему мои сообщения дублируются,заранее сори.

Угу. Так,тот файлик я

Угу.

Так,тот файлик я перерыл,почистил,не помогло.Сделал поиск по названию одного из модулей в содержимом-куча конфигов.Как определить,откуда именно список берется?

/usr/share/genkernel/arch/x86_64/modules_load

/usr/share/genkernel/arch/x86_64/modules_load, очевидно, для amd64 архитектуры. Для x86 по аналогии свой список.
Вы уверены, что используется 64-битный gentoo?

Да.Скомпиленное ядро имеет

Да.Скомпиленное ядро имеет название х86_64,stage3 я ставил для amd64...
Может быть,просто не тот конфиг?

Мало просто почистить файл,

Мало просто почистить файл, нужно ещё как минимум initrd (или всё сразу, с ядром) пересобрать.
Файл точно тот, у меня на ноутбуке ведь работает.

.

А как узнать, какие из модулей не используются?

Попытаться выгрузить. Если не

Попытаться выгрузить. Если не используются, или используются, но легко выгружаются - значит, в принципе, они на этапе initrd не нужны.

.

Что-то не прокатил такой вариант. Удалялись практически все подряд. После удаления половины модулей заметил, что не работает инет. При перезапуске интерфейса ошибка: "Убедитесь, что модуль ядра для вашей железяки загружен". Такими темпами после пересборки ядра вообще ничего не заработает.

Для initrd более важны

Для initrd более важны разного рода sata-контроллеры и файловые системы. Интернет и без этого загрузится позднее, в initrd сетевые модули не нужны.
Вот, например, мой modules_load:

MODULES_SATA="ahci libata"
MODULES_SCSI="sd_mod sr_mod"
MODULES_USB="ehci-hcd hid usbhid"

.

а как отдельно initrd пересобрать?

genkernel --help

genkernel --help

lsmod, а потом rmmod

lsmod, а потом rmmod "модули", те которые используются не выгрузятся

ps проще пересобрать ядро выключив лишние, например поддержка железа и фс которого у вас нет.

Есть хороший

Есть хороший сайт:
http://kmuto.jp/debian/hcl/index.cgi

остальное естественно удалять.

Скоростная загрузка ядра linux

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

Переходим в каталог исходников активного ядра

# cd /usr/src/linux

Сохраняем на всякий случай конфигурационный файл

# cp -a .config .config.bak

Далее подключите все используемые устройства к компьютеру, чтобы подхватились модули через udev и выполните автоматическую установку только используемых модулей

# make localmodconfig

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

Затем проверьте включение некоторых модулей и при их отсутствии включите. Корневую файловую систему, Ваш контроллер диска, ramdisk, если используете initrd (что совсем не обязательно) включайте их не модулями, а сразу в ядро. Модулями подключите ntfs, файловую систему для cd, включите пункт scsi cd-rom, usb принтеры, мониторы и прочую используемую usb технику, которую не увидел скрипт. Ну и само собой Ваши любимые пункты проверьте на правильность настроек, но как правило скрипт их не затрагивает.

# make menuconfig

Далее сохраните настройки в .config и выходите

Теперь запускаем максимально быструю компиляцию ядра, модулей и их установку, включая пересборку и подключение внешних модулей типа nvidia и virtualbox (у Вас должен быть установлен пакет sys-kernel/module-rebuild)

# make -j(кол-во ядер+1) && make modules_install install && module-rebuild -X rebuild

Затем в grub подключаем новое ядро, но возможно даже не придется переделывать grub, если это повторная компиляция. Таким образом Вы получите минимальную систему непосредственно для Вашего компьютера из стандартного конфигурационного файла gentoo.

В случае неуспеха, что маловероятно, скопируйте .config.bak на место .config

# cp -a /usr/src/linux/.config.bak /usr/src/linux/.config

и выполните для компиляции ядра со стандартными параметрами gentoo

# make -j(кол-во ядер+1) && make modules_install install && module-rebuild -X rebuild

P.S. Хитрости.
Перед началом компиляции скопируйте каталог boot, например, в домашнюю директорию. И в случае неудачи Вы всегда сможете быстро восстановить ядро из liveCD (если ядро у Вас только одно), удалением испорченного boot из корневого раздела и восстановлением из Вашей архивной копии.

Для самой быстрой загрузки ядра измените 2 пункта ядра так как показано у меня:

Preemption Model (Preemptible Kernel (Low-Latency Desktop))  

и

Timer frequency (1000 HZ)

После этих мероприятий ядро на медленном atom n270 грузится чуть медленнее 1 секунды.

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

По поводу "хитростей" с бэкапом рабочего ядра

Проще старое ядро никуда не копировать, а при сборке нового добавить в General setup -> Local version... (CONFIG_LOCALVERSION) что-нибудь вроде -test. Тогда файлы нового ядра и каталог в /lib/modules будут называться по шаблону *-3.0.4-gentoo-test и не перезапишут файлы текущего.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".