Gentoo ядро и загрузчик (загрузчик не видит ядро)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Ответить
xandersonx
Сообщения: 8
ОС: gentoo

Gentoo ядро и загрузчик

Сообщение xandersonx »

Устанавливаю базовую gentoo не первый раз. Но в этот раз получается ерунда.
Скачиваю стадию adm64-openrc, распаковываю её, монтирую нужные точки входа, вхожу в свою установленную среду, загружаю gentoo-sources,
с помощью eselect kernel list (set) выбираю нужный вариант. Компилляция ядра и модулей проходит на "ура". А вот после make install получаю сверхлаконичное сообщение: "INSTALL lilo not found". При чём тут lilo? Да и текста раньше было побольше...
Далее устанавливаю grub. После grub-mkconfig -o /boot/grub/grub.cfg система выдаёт свой обычный текст на четверть экрана. Ошибок нет, но и про ядра ни слова. Загрузчик их почему-то не видит.
Подскажите, почему так прозошло? Ведь раньше всё работало и именно при такой установке.
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2392
ОС: gentoo fluxbox

Re: Gentoo ядро и загрузчик

Сообщение yoricI »

Я своё устанавливал давно, подробностей не помню. А по сути посоветовал бы поставить lilo и не выпячиватся с grub-ом. У меня lilo давно и успешно работает))
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 940
ОС: BSD/LINUX
Контактная информация:

Re: Gentoo ядро и загрузчик

Сообщение bars »

А по какой инструкции собираете систему?
Пошагово опишите, что вы делали, что получили результат "INSTALL lilo not found"
Лило ни когда не использовал, grub/refind использую на данный момент.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2660
ОС: Gentoo

Re: Gentoo ядро и загрузчик

Сообщение ormorph »

xandersonx писал:
27.03.2024 20:48
А вот после make install получаю сверхлаконичное сообщение: "INSTALL lilo not found".
Просто уведомляет что нет lilo, вроде на установку не должно влиять. В каталоге /boot появилось ядро?
Spoiler

Shell

$ cat arch/x86/boot/install.sh
#
# Copyright (C) 1995 by Linus Torvalds
#
# Adapted from code in arch/i386/boot/Makefile by H. Peter Anvin
#
# "make install" script for i386 architecture
#
# Arguments:
# $1 - kernel version
# $2 - kernel image file
# $3 - kernel map file
# $4 - default install path (blank if root directory)

if [ -f $4/vmlinuz ]; then
mv $4/vmlinuz $4/vmlinuz.old
fi

if [ -f $4/System.map ]; then
mv $4/System.map $4/System.old
fi

cat $2 > $4/vmlinuz
cp $3 $4/System.map

if [ -x /sbin/lilo ]; then
/sbin/lilo
elif [ -x /etc/lilo/install ]; then
/etc/lilo/install
else
sync
echo "Cannot find LILO."
fi
Как вариант собирать genkernel, либо переименовать, например /boot/vmlinuz в /boot/vmlinuz-$(uname -r) ну и initramfs-$(uname -r).img, и так далее, а далее выполнить grub-mkconfig -o /boot/grub/grub.cfg.
Добавлено (09:09):
А пардон, тут сборка впервые, по этому скорее всего $(uname -r) не будет работать. Можно прописать любую версию, главное чтобы она совпадала как в vmlinuz так и в initramfs. Например у меня это 6.6.21-gentoo-x86_64.
Спасибо сказали:
xandersonx
Сообщения: 8
ОС: gentoo

Re: Gentoo ядро и загрузчик

Сообщение xandersonx »

Значит, план установки был такой:
--- mkfs.vfat /dev/sdb2 (это для /boot)
--- mkswap /dev/sdb3
--- mkfs.ext4 /dev/sdb4 (это для root)
--- mount /dev/sdb4 /mnt/gentoo
--- cd /mnt/gentoo
--- links https//www.gentoo.org/downloads/mirrors/
--- скачиваю stage3-amd64-desktop-openrc-*******
--- tar xpvf (стадия) --xattrs-include='*.*' --numeric-owner
--- В файл /etc/portage/make.conf записываю MAKEOPTS="-j8" (ибо ядер 8)
--- cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
--- mount --types proc /proc /mnt/gentoo/proc
--- mount --rbind /sys /mnt/gentoo/sys
--- mount --rbind /dev /mnt/gentoo/dev
--- mount --bind /run /mnt/gentoo/run
--- chroot /mnt/gentoo /bin/bash
--- source /etc/profile
--- mount /dev/sdb2 /boot
--- mkdir /etc/portage/repos.conf
--- cp /usr/share/portage/config/repos.conf /etc/portage/repos.conf/gentoo.conf
--- emerge-webrsync
--- emerge -av --oneshot app-portage/mirrorselect
--- mirrorselect -i -o >> /etc/portage/make.conf (добавляю зеркала)
--- emerge --sync
--- emerge -av app-portage/cpuid2cpuflags
--- cpuid2cpuflags и потом переношу то, что появилось в make.conf
--- так же в make.conf записываю DEVICE_DRIVES="evdev" ; LINGUAS="ru" ; L10N="ru" ; USE="-systemd elogind"
--- emerge --ask --verbose --update --deep --newuse @world
--- echo "Europe/Moscow" > /etc/timezone
--- emerge --config sys-libs/timezone-data
--- emerge -av sys-kernel/gentoo-sources
--- eselect kernel list (выбираю то, что загрузилось)
--- cd /usr/src/linux
--- make menuconfig и конфигурирую ядро как написано в gentoo handbook
--- make && make modules_install

Вот тут-то мне и сообщают что "INSTALL lilo not found"
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2660
ОС: Gentoo

Re: Gentoo ядро и загрузчик

Сообщение ormorph »

xandersonx писал:
28.03.2024 21:19
--- make && make modules_install

Вот тут-то мне и сообщают что "INSTALL lilo not found"
Быть того не может. Последняя команда устанавливает только модули, но не ядро и не генерирует файл intramfs. Вы пропустили команду make install, только она может дать такой вывод. Ну и вы смотрели что у вас в каталоге /boot после выполнения этой команды?

Shell

# ls /boot
А так чтобы не было проблем с grub можно собрать с помощью genkernel:

Shell

# emerge -av sys-kernel/genkernel
# genkernel all --menuconfig
# grub-mkconfig -o /boot/grub/grub.cfg
Команда:

Shell

# eselect kernel list
# eselect kernel set <num>
как раз нужна для genkernel, при использовании чисто make для сборки этот шаг не обязателен.
Спасибо сказали:
xandersonx
Сообщения: 8
ОС: gentoo

Re: Gentoo ядро и загрузчик

Сообщение xandersonx »

вот черт! Забыл написать. Совершенно верно. make install. После неё такое сообщение. Я сейчас в винде. Но помню точно,но в каталоге /boot есть vmlinuz и что-то с расшинением map.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2660
ОС: Gentoo

Re: Gentoo ядро и загрузчик

Сообщение ormorph »

xandersonx писал:
28.03.2024 22:04
вот черт! Забыл написать. Совершенно верно. make install. После неё такое сообщение. Я сейчас в винде. Но помню точно,но в каталоге /boot есть vmlinuz и что-то с расшинением map.
Хм почитал хендбук, смотрю сейчас уже добавили нововведение, готовую сборку ядра. Т.е. уже не обязательно собирать ядро, если только не нужны специфичные настройки ядра. Можно просто установить готовую бинарную сборку ядра и не мучиться, либо уже под ней собирать другие ядра. Достаточно этих действий:

Shell

# emerge --ask sys-kernel/gentoo-kernel-bin
# grub-mkconfig -o /boot/grub/grub.cfg
Конечно перед этим желательно создать файл /etc/portage/package.use/installkernel с содержимым как показано в ссылке что я дал.
Спасибо сказали:
xandersonx
Сообщения: 8
ОС: gentoo

Re: Gentoo ядро и загрузчик

Сообщение xandersonx »

Спасибо всем! Удалось установить и загрузчик и ядро. Вот только не знаю, радоваться мне такому решению или удивляться.
С ядром решилось так: emerge -av sys-kernel/gentoo-kernel. Сам этот пакет не нужен, зато нужны пакеты, которые он за собой тянет. Их, вроде как, восемь штук. После установки пакетов перехожу в "стандартный" режим: make menuconfig ; make && make modules_install ; make install.
Таким образом устанавливаются не только файлы ядра а еще и собранная на лету initramfs. Теперь загрузчик ядра видит.
Но вот ещё какая странность. Если я скачиваю stage3 чистый, не важно стабильной ветки или нет, то все получается. А вот если это будет /desktop/kde или, скажем /desktop/gnome, то вылезают неожиданные ошибки. По крайней мере с видеодрайверами... почему-то...
Однако, задача выполнена, ядро и загрузчик стоят. Ещё раз спасибо...
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2660
ОС: Gentoo

Re: Gentoo ядро и загрузчик

Сообщение ormorph »

xandersonx писал:
09.04.2024 20:23
Если я скачиваю stage3 чистый, не важно стабильной ветки или нет, то все получается. А вот если это будет /desktop/kde или, скажем /desktop/gnome, то вылезают неожиданные ошибки. По крайней мере с видеодрайверами... почему-то...
Однако, задача выполнена, ядро и загрузчик стоят. Ещё раз спасибо...
Это уже отдельная тема. Нужно смотреть что за ошибки возникают, это смотреть вывод:

Shell

$ dmesg

Shell

$ lspci -knn
Спасибо сказали:
Ответить