Виктор, загрузившись с установочного диска, покажите вывод команд
lsmod
lspci
Выложите куда-либо конфигурационный файл собираемого вами ядра.
Виктор, загрузившись с установочного диска, покажите вывод команд
lsmod
lspci
Выложите куда-либо конфигурационный файл собираемого вами ядра.
Lupo Alberto, сделал с ядром из LiveCD. Ругается на том же месте при запуске. Что-то типа "не могу примонтировать раздел /boot" и дальше продолжает ругаться на "init". Либо все-таки нужно ему подсунуть этот initrd, либо я что-то не так сделал (что крайне маловероятно). Пробовал в grub указывать
noinitrdне помогло.
lsmodВыдает много текста. Как прокручивать список в консоли? Стрелка вверх и "pgup" выдают последнюю введенную команду
Как прокручивать список в консоли?
[console]lsmod | less [/console]
например, если в ядре не указан большой буфер, вы увидите только ~одну страницу выше.
по этому лучше использовать "пейджер", less или more или ещё какой.
Виктор, при использовании ядра от загрузочного диска нужно использовать также и модули для этого ядра, и файл initrd. Ну и, разумеется, настроить grub.conf
Виктор, опишите последовательность ваших действий при самостоятельной сборке и установке ядра.
Как прокручивать список в консоли?
Shift+PgUp. Соответственно, прокрутка вниз Shift+PgDn. Но лучше все же пользоваться пейджером, как это советует system-root.
при использовании ядра от загрузочного диска нужно использовать также и модули для этого ядра, и файл initrd
Модули-то вроде устанавливаются командой "make modules_install", а где брать initrd?
Последовательность действий при самостоятельной сборке и установке ядра:
1. Загрузка с LiveCD
2. Изменение корневого каталога:
[console]chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
export PS1="(chroot) $PS1"[/console]
3. Переход в каталог с исходниками ядра
[console]cd /usr/src/linux[/console]
4. Дальше удаление всего, что было сконфигурировано ранее
[console]make mrproper[/console]
5. Настройка
(Если уже есть .config, то копирование его в папку с исходниками ядра)
[console]make menuconfig[/console]
6. Компиляция и установка модулей
[console]make && make modules_install[/console]
7. Копирование файла ядра в /boot
[console]cp arch/x86_64/boot/bzImage /boot/(название скомпилированного ядра)[/console]
Настройка Grub:
title=Gentoo Linux (версия)
root (hd0,0)
kernel /boot/имя_образа root=/dev/hda3Диск разбил в соответствии с хендбуком. Выделил /boot в отдельный раздел (1), корень в 3.
Сделал с LiveCD Ubuntu, потому что уже устал, а здесь можно копипастом воспользоваться. Думаю особо большой разницы нет.
По поводу .config куда его можно выложить? Сейчас подумал, ведь .config - это просто текстовый файл содержащий указания компилятору? Значит можно править его вручную в соответствии с используемыми модулями?
ubuntu@ubuntu:~$ lspci
00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
00:01.0 PCI bridge: Acer Incorporated [ALI] Device 9602
00:02.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (ext gfx port 0)
00:05.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 1)
00:07.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 3)
00:09.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 4)
00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA Controller [AHCI mode]
00:12.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller
00:12.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller
00:12.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller
00:13.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller
00:13.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller
00:13.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller
00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 3a)
00:14.1 IDE interface: ATI Technologies Inc SB700/SB800 IDE Controller
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)
00:14.3 ISA bridge: ATI Technologies Inc SB700/SB800 LPC host controller
00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge
00:18.0 Host bridge: Advanced Micro Devices [AMD] Mobile K10 [Turion X2, Athlon X2, Sempron] HyperTransport Configuration (rev 40)
00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 11h [Turion X2, Athlon X2, Sempron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] Mobile K10 [Turion X2, Athlon X2, Sempron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] Mobile K10 [Turion X2, Athlon X2, Sempron] Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices [AMD] Mobile K10 [Turion X2, Athlon X2, Sempron] Link Control
01:05.0 VGA compatible controller: ATI Technologies Inc RS780M/RS780MN [Radeon HD 3200 Graphics]
02:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon HD 3400 Series
02:00.1 Audio device: ATI Technologies Inc RV620 Audio device [Radeon HD 34xx Series]
09:00.0 Ethernet controller: Atheros Communications Inc. AR5001 Wireless Network Adapter (rev 01)
0a:00.0 Ethernet controller: Atheros Communications Atheros AR8121/AR8113/AR8114 PCI-E Ethernet Controller (rev b0)
Module Size Used by
binfmt_misc 7960 1
ppdev 6375 0
lp 9336 0
parport 37160 2 ppdev,lp
dm_crypt 13043 0
snd_hda_codec_atihdmi 3023 1
snd_hda_codec_realtek 278890 1
snd_hda_intel 25645 2
snd_hda_codec 85727 3 snd_hda_codec_atihdmi,snd_hda_codec_realtek,snd_hda_intel
snd_pcm_oss 41394 0
snd_mixer_oss 16299 1 snd_pcm_oss
snd_hwdep 6924 1 snd_hda_codec
snd_seq_dummy 1782 0
snd_pcm 87850 3 snd_hda_intel,snd_hda_codec,snd_pcm_oss
snd_seq_oss 31219 0
snd_seq_midi 5829 0
snd_rawmidi 23388 1 snd_seq_midi
snd_seq_midi_event 7267 2 snd_seq_oss,snd_seq_midi
arc4 1473 2
snd_seq 57417 6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
snd_timer 23553 2 snd_pcm,snd_seq
ath5k 134437 0
snd_seq_device 6824 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
joydev 11072 0
snd 70978 16 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_pcm_oss,snd_mixer_oss,snd_hwdep,snd_pcm,snd_s
eq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
uvcvideo 62403 0
mac80211 238128 1 ath5k
videodev 40486 1 uvcvideo
ath 9723 1 ath5k
acer_wmi 15829 0
cfg80211 148386 3 ath5k,mac80211,ath
psmouse 64608 0
v4l1_compat 15495 2 uvcvideo,videodev
edac_core 45423 0
soundcore 8052 1 snd
v4l2_compat_ioctl32 12020 1 videodev
i2c_piix4 9639 0
edac_mce_amd 9214 0
snd_page_alloc 8500 2 snd_hda_intel,snd_pcm
serio_raw 4918 0
shpchp 33679 0
led_class 3732 2 ath5k,acer_wmi
squashfs 21868 1
aufs 175432 1
nls_cp437 6351 1
isofs 33399 1
dm_raid45 75436 0
xor 4685 1 dm_raid45
fbcon 39270 71
tileblit 2487 1 fbcon
font 8053 1 fbcon
bitblit 5811 1 fbcon
softcursor 1565 1 bitblit
usbhid 40988 0
vga16fb 12757 0
vgastate 9857 1 vga16fb
hid 83376 1 usbhid
usb_storage 49833 0
radeon 739595 3
ttm 60815 1 radeon
video 20623 0
output 2503 1 video
pata_atiixp 4209 1
drm_kms_helper 30742 1 radeon
ahci 37646 1
drm 198770 5 radeon,ttm,drm_kms_helper
i2c_algo_bit 6024 1 radeon
atl1e 33233 0
(END)
Модули-то вроде устанавливаются командой "make modules_install", а где брать initrd?
Если вы используете ядро с установочного диска, то и модули, уже собранные находятся тоже на диске. По памяти не помню, просмотрите структуру диска, скорее всего где-то в /lib/modules, обращайте внимание, чтобы они соответствовали ядру (версия, субверсия в названии). Соответственно, initrd ищете в /boot в структуре смонтированного установочного диска.
Последовательность действий при самостоятельной сборке и установке ядра:
3. Переход в каталог с исходниками ядра
[console]cd /usr/src/linux[/console]
4. Дальше удаление всего, что было сконфигурировано ранее
[console]make mrproper[/console]
5. Настройка
(Если уже есть .config, то копирование его в папку с исходниками ядра)
[console]make menuconfig[/console]
6. Компиляция и установка модулей
[console]make && make modules_install[/console]
Не помню, что делает make без аргументов, я обычно делаю сначала make bzImage для сборки, но не установки ядра.
7. Копирование файла ядра в /boot
[console]cp arch/x86_64/boot/bzImage /boot/(название скомпилированного ядра)[/console]
Каталог /boot смонтирован? Копируете ли вы и файл System.map-ВЕРСИЯ_ЯДРА?
По поводу .config куда его можно выложить? Сейчас подумал, ведь .config - это просто текстовый файл содержащий указания компилятору? Значит можно править его вручную в соответствии с используемыми модулями?
Выложить можно на любой сервис, предоставляющий такую услугу. Или воспользоваться «спойлером», появившимся на форуме.
Руками редактировать файл нельзя, так он формируется, в некотором роде, «в реальном времени» — выбор одних опций влияет на появление или исчезновение других.
Lupo Alberto, я брал только .config ядра с LiveCD, компиляцию делал сам. Хорошо, попробую взять уже готовое ядро с диска и все, что к нему прилагается.
Каталог /boot смонтирован? Копируете ли вы и файл System.map-ВЕРСИЯ_ЯДРА?
Да, каталог монтирую. При копировании обязательно проверяю туда ли и то ли что нужно скопировал. System.map обычно не копировал, хотя один раз для разнообразия и его скопировал тоже. Но пробовал вначале, когда, возможно, в ядре еще было что-то недовключено (хотя и сейчас возможно "еще было что-то недовключено")
Виктор, проверьте и, при необходимости, включите в ядро там, где возможно не модулями
egrep -i 'pata_atiixp|ide-pci-generic|atiixp|ata_generic|pata_acpi' /usr/src/linux/.config
В необходимости включения ide-pci-generic уверен не до конца.
Lupo Alberto, пробую то, что Вы посоветовали. Не все опции были занесены. Кое-что попытался включить вручную.
На minimal LiveCD не оказалось ни ядра, ни модулей, ни initrd. Точнее что-то было, но под старенькое ядро. Если сейчас опять ничего не получится, придется прибегнуть к genkernel. Но, почему-то при всех настройках сети выхода в интернеты нет. Т.е. загружаюсь с LiveCD, меняю корень и пинг не проходит и соединения нет. Интерфейс eth0 работает, настройки сети правильные (при первом запуске выход был).
P.S. это всегда установка Gentoo такая веселая? Или это только у меня такое счастье?;) Уже третий раз:)
Попробуйте взять для установки основанный на Gentoo диск SystemRescueCD, он по-навороченнее в плане поддержки железа.
Lupo Alberto, знаете, я уже устал со всем этим барахтаться. Сегодня уже, наверное, третий день как я не могу использовать ноутбук:) Поэтому если сейчас не прокатит, то буду пользовать genkernel, с ним по крайней мере все запускалось. Мне конечно все это интересно и вообще. Но, видимо, всему есть предел. Либо мне нужно просто передохнуть
Вас благодарю за помощь, не каждый будет столько возиться с проблемами чужого человека:)
Виктор, у genkernel есть опции --oldconfig и --menuconfig, позволяющие использовать готовый конфигурационный файл и после редактировать его.
А сейчас я открою вам тайну, сожалею, что не додумался сообщить раньше: для установки Gentoo самое главное — иметь рабочую консоль, то есть можно производить установку из-под любого LiveCD или рабочей Linux-системы. Я даже слышал о «джедаях», устанавливающих Gentoo из-под «оффтопика» smile
у genkernel есть опции --oldconfig и --menuconfig, позволяющие использовать готовый конфигурационный файл и после редактировать его
Учту на будущее
Я даже слышал о «джедаях», устанавливающих Gentoo из-под «оффтопика»
Что такое из-под «оффтопика»
А теперь по поводу загрузки: сделал с указанными Вами опциями. Делал все по отдельности, даже используя install
make clean
make bzImage
make modules
make install
make modules_install
и, что самое смешное, в grub я допустил ошибку, которую сейчас заметил и исправил:
kernel /boot/имя_образа root=/dev/[b]sda3[/b]
а было sda1, вот он и не мог смонтировать /boot в качестве корня:) Наверное...
Результатом стала полная загрузка, но в конце появляется просто белый экран. Это уже косяк с дровами на видимокарту. При загрузке долго висел на ATI Radeon строчках. Сейчас будем исправлять это. Еще никакие кнопки не работают
P.S. прошу прощения, не заметил, что Вы говорили о genkernel, а не о make. Буду иметь в виду:)
Lupo Alberto, можете поделиться мудростью, как Вы нашли эти опции и что именно их нужно включать? В модулях их что-то не видно.
'pata_atiixp|ide-pci-generic|atiixp|ata_generic|pata_acpi'Как можно проделать тот же трюк для видеокарты?
Виктор, а зачем вы сразу грузитесь в графический режим? Проще загрузиться в «голую» консоль и дорабатывать систему.
Опции, которые я вам рекомендовал, в модулях и не должны быть, их следует включить в ядро. В
make menuconfig есть поиск по опциям — «/»
Опции я нашёл, воспользовавшись предоставленной вами информацией и http://cateee.net/lkddb/
Lupo Alberto, так я ничего не делаю при загрузке, она сама проходит и сразу же белый экран. И клавиши не работают. Про включение не модулями я давно уяснил:) Я имел в виду этих параметров не видно при команде lsmod
P.S. т.е. я не имею доступа даже к консоли