LinuxForum.Fans
Тема

Установка второго (нового) ядра

Автор: aldms 43 сообщений 14294 просмотров
#78062

Виктор, загрузившись с установочного диска, покажите вывод команд

text

lsmod
text

lspci

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

#78085

Lupo Alberto, сделал с ядром из LiveCD. Ругается на том же месте при запуске. Что-то типа "не могу примонтировать раздел /boot" и дальше продолжает ругаться на "init". Либо все-таки нужно ему подсунуть этот initrd, либо я что-то не так сделал (что крайне маловероятно). Пробовал в grub указывать

text
noinitrd

не помогло.

text
lsmod

Выдает много текста. Как прокручивать список в консоли? Стрелка вверх и "pgup" выдают последнюю введенную команду

#78089
Виктор написал:
Как прокручивать список в консоли?

[console]lsmod | less [/console]
например, если в ядре не указан большой буфер, вы увидите только ~одну страницу выше.
по этому лучше использовать "пейджер", less или more или ещё какой.

#78090

Виктор, при использовании ядра от загрузочного диска нужно использовать также и модули для этого ядра, и файл initrd. Ну и, разумеется, настроить grub.conf

#78092

Виктор, опишите последовательность ваших действий при самостоятельной сборке и установке ядра.

#78095
Виктор написал:
Как прокручивать список в консоли?

Shift+PgUp. Соответственно, прокрутка вниз Shift+PgDn. Но лучше все же пользоваться пейджером, как это советует system-root.

#78097
Lupo Alberto написал:
при использовании ядра от загрузочного диска нужно использовать также и модули для этого ядра, и файл 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:

text
title=Gentoo Linux (версия)
root (hd0,0)
kernel /boot/имя_образа root=/dev/hda3

Диск разбил в соответствии с хендбуком. Выделил /boot в отдельный раздел (1), корень в 3.

#78100

Сделал с LiveCD Ubuntu, потому что уже устал, а здесь можно копипастом воспользоваться. Думаю особо большой разницы нет.

По поводу .config куда его можно выложить? Сейчас подумал, ведь .config - это просто текстовый файл содержащий указания компилятору? Значит можно править его вручную в соответствии с используемыми модулями?

text

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)
text

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) 
#78105
Виктор написал:

Модули-то вроде устанавливаются командой "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-ВЕРСИЯ_ЯДРА?

#78107
Виктор написал:
По поводу .config куда его можно выложить? Сейчас подумал, ведь .config - это просто текстовый файл содержащий указания компилятору? Значит можно править его вручную в соответствии с используемыми модулями?

Выложить можно на любой сервис, предоставляющий такую услугу. Или воспользоваться «спойлером», появившимся на форуме.
Руками редактировать файл нельзя, так он формируется, в некотором роде, «в реальном времени» — выбор одних опций влияет на появление или исчезновение других.

#78108

Lupo Alberto, я брал только .config ядра с LiveCD, компиляцию делал сам. Хорошо, попробую взять уже готовое ядро с диска и все, что к нему прилагается.

Lupo Alberto написал:
Каталог /boot смонтирован? Копируете ли вы и файл System.map-ВЕРСИЯ_ЯДРА?

Да, каталог монтирую. При копировании обязательно проверяю туда ли и то ли что нужно скопировал. System.map обычно не копировал, хотя один раз для разнообразия и его скопировал тоже. Но пробовал вначале, когда, возможно, в ядре еще было что-то недовключено (хотя и сейчас возможно "еще было что-то недовключено")

#78109

Виктор, проверьте и, при необходимости, включите в ядро там, где возможно не модулями

text

 egrep -i 'pata_atiixp|ide-pci-generic|atiixp|ata_generic|pata_acpi' /usr/src/linux/.config

В необходимости включения ide-pci-generic уверен не до конца.

#78124

Lupo Alberto, пробую то, что Вы посоветовали. Не все опции были занесены. Кое-что попытался включить вручную.

На minimal LiveCD не оказалось ни ядра, ни модулей, ни initrd. Точнее что-то было, но под старенькое ядро. Если сейчас опять ничего не получится, придется прибегнуть к genkernel. Но, почему-то при всех настройках сети выхода в интернеты нет. Т.е. загружаюсь с LiveCD, меняю корень и пинг не проходит и соединения нет. Интерфейс eth0 работает, настройки сети правильные (при первом запуске выход был).

P.S. это всегда установка Gentoo такая веселая? Или это только у меня такое счастье?;) Уже третий раз:)

#78127

Попробуйте взять для установки основанный на Gentoo диск SystemRescueCD, он по-навороченнее в плане поддержки железа.

#78129

Lupo Alberto, знаете, я уже устал со всем этим барахтаться. Сегодня уже, наверное, третий день как я не могу использовать ноутбук:) Поэтому если сейчас не прокатит, то буду пользовать genkernel, с ним по крайней мере все запускалось. Мне конечно все это интересно и вообще. Но, видимо, всему есть предел. Либо мне нужно просто передохнуть

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

#78131

Виктор, у genkernel есть опции --oldconfig и --menuconfig, позволяющие использовать готовый конфигурационный файл и после редактировать его.
А сейчас я открою вам тайну, сожалею, что не додумался сообщить раньше: для установки Gentoo самое главное — иметь рабочую консоль, то есть можно производить установку из-под любого LiveCD или рабочей Linux-системы. Я даже слышал о «джедаях», устанавливающих Gentoo из-под «оффтопика» smile

#78132
Lupo Alberto написал:
у genkernel есть опции --oldconfig и --menuconfig, позволяющие использовать готовый конфигурационный файл и после редактировать его

Учту на будущее

Lupo Alberto написал:
Я даже слышал о «джедаях», устанавливающих Gentoo из-под «оффтопика»

Что такое из-под «оффтопика»

А теперь по поводу загрузки: сделал с указанными Вами опциями. Делал все по отдельности, даже используя install

text

make clean
make bzImage
make modules
make install
make modules_install

и, что самое смешное, в grub я допустил ошибку, которую сейчас заметил и исправил:

text

kernel /boot/имя_образа root=/dev/[b]sda3[/b]

а было sda1, вот он и не мог смонтировать /boot в качестве корня:) Наверное...

Результатом стала полная загрузка, но в конце появляется просто белый экран. Это уже косяк с дровами на видимокарту. При загрузке долго висел на ATI Radeon строчках. Сейчас будем исправлять это. Еще никакие кнопки не работают

P.S. прошу прощения, не заметил, что Вы говорили о genkernel, а не о make. Буду иметь в виду:)

#78138

Lupo Alberto, можете поделиться мудростью, как Вы нашли эти опции и что именно их нужно включать? В модулях их что-то не видно.

text
'pata_atiixp|ide-pci-generic|atiixp|ata_generic|pata_acpi'

Как можно проделать тот же трюк для видеокарты?

#78141

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

text
make menuconfig

есть поиск по опциям — «/»
Опции я нашёл, воспользовавшись предоставленной вами информацией и http://cateee.net/lkddb/

#78144

Lupo Alberto, так я ничего не делаю при загрузке, она сама проходит и сразу же белый экран. И клавиши не работают. Про включение не модулями я давно уяснил:) Я имел в виду этих параметров не видно при команде lsmod

P.S. т.е. я не имею доступа даже к консоли

Войдите или зарегистрируйтесь, чтобы ответить.