LINUX.ORG.RU

Что делать?

Доставать попкорн - щас будет веселье.

anonymous
()

Для начала уточни: это последние строчки для ядра, загруженного с опциями verbose debug или нет?

anonymous
()

/dev/mapper/main_vg-root

Выбрось каку.

Rx0
()

А какие действия перед этим выполнялись? Загрузись с флешки, чрутнись. Потом сделай dmesg и выложм здесь. Может помочь переустановка ядра и обновление конфигурации граба.

anti_win ★★
()

Возможно, это таки initramfs. Но она должна обновлятся при переустановке ядра.

anti_win ★★
()
Ответ на: комментарий от anti_win

Перед этим выполнялось обновление ядра:

% readlink kernel.old
kernel-genkernel-x86_64-4.20.0-gentoo
% readlink initramfs.old
initramfs-genkernel-x86_64-4.20.0-gentoo
% readlink kernel       
kernel-genkernel-x86_64-5.4.12-gentoo
% readlink initramfs
initramfs-genkernel-x86_64-5.4.12-gentoo
для того, чтобы выключить INIT и включить SYSTEMD, как пердлагали сделать в предыдущем топике.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от Einstok_Fair

Нет, команда mkinitpcio дается отдельно. Это шелл-скрипт.

anti_win ★★
()
Ответ на: комментарий от Einstok_Fair

Кстати, по твоей ссылка какраз написано, что initramfs заменяет initrd. Тебе надо собрать initramfs тем способом, который предлагает гентушная вики (но насколько я знаю, mkinitpcio должен быть и в генте), обновляешь конфигурацию граба и перезагружаешься.

anti_win ★★
()
Ответ на: комментарий от anti_win

genkernel-next — это тоже скрипт, автоматизирующий сборку ядра и initramfs

Старое ядро загружается, а новое - не загружается, виснет.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от Einstok_Fair

С гентушной вики:

Заметка
Типичное недоразумение — считать, что genkernel "автоматически" создает индивидуальную конфигурацию ядра. genkernel автоматизирует процесс сборки ядра и собирает initramfs, но не создает индивидуальный конфигурационный файл ядра. Он использует универсальный файл конфигурации ядра, который включает в себя поддержку для типичных компонентов системы на архитектурно-зависимой основе. С подробностями установок по умолчанию для каждой архитектуры можно ознакомиться в upstream repository. Выберите архитектуру, затем выберите файл конфигурации ядра.

Думаю, надо вручную пересобрать ядро и интрамфс(с помощью mkinitpcio).

anti_win ★★
()
Ответ на: комментарий от Einstok_Fair

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

anti_win ★★
()
Ответ на: комментарий от Einstok_Fair

Про mkinitpcio на гентушной вики тоже есть информация. В статье про установку.

anti_win ★★
()
Ответ на: комментарий от anti_win

Я не согласен с тем, что я сделал что-то неправильно в этом месте. Выполнял всё по руководству (zcat /proc/config.gz && make olddefconfig && genkernel --menuconfig all).

В menuconfig я поменял только две галочки - выключил для INIT и включил для SYSTEMD.

В логе сборки видно, что initramfs собирается:

# genkernel all
* Gentoo Linux Genkernel; Version 70
* Running with options: all

* Using genkernel.conf from /etc/genkernel.conf
* Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86_64/config.sh ..
* Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86_64/modules_load ..

* Linux Kernel 5.4.12-gentoo for x86_64...
* .. with config file /etc/kernels/kernel-config-x86_64-5.4.12-gentoo
* kernel: Using config from /etc/kernels/kernel-config-x86_64-5.4.12-gentoo
*         Previous config backed up to .config--2020-01-20--11-52-16.bak
* kernel: >> Running mrproper...
* kernel: --oldconfig is disabled; not running 'make oldconfig'.
* kernel: >> Cleaning...
*         >> Compiling 5.4.12-gentoo bzImage...
*         >> Not installing firmware as requested by configuration FIRMWARE_INSTALL=no...
*         >> Compiling 5.4.12-gentoo modules...
*         >> Generating module dependency data...
* Copying config for successful build to /etc/kernels/kernel-config-x86_64-5.4.12-gentoo
* busybox: >> Using cache
* initramfs: >> Initializing...
*         >> Appending base_layout cpio data...
*         >> Appending udev cpio data...
cp: cannot stat '/etc/modprobe.d/blacklist.conf': No such file or directory
* cannot copy /etc/modprobe.d/blacklist.conf from udev
*         >> Appending auxilary cpio data...
*         >> Copying keymaps
*         >> Appending busybox cpio data...
*         >> Appending lvm cpio data...
* LVM: Adding support (copying binaries from system)...
*         >> Appending mdadm cpio data...
*         >> Appending modules cpio data...
*         >> Appending blkid cpio data...
*         >> Skipping modprobed copy
*         >> Appending ld_so_conf cpio data...
* ldconfig: adding /sbin/ldconfig...
* ld.so.conf: adding /etc/ld.so.conf{.d/*,}...
cpio: usr/lib64 not created: newer or same age version exists
cpio: lib64 not created: newer or same age version exists
cpio: usr/lib64 not created: newer or same age version exists
cpio: lib64 not created: newer or same age version exists
cpio: lib64/libuuid.so.1 not created: newer or same age version exists
cpio: lib64/libpthread.so.0 not created: newer or same age version exists
cpio: lib64/libblkid.so.1 not created: newer or same age version exists
cpio: lib64/ld-linux-x86-64.so.2 not created: newer or same age version exists
cpio: lib64/libc.so.6 not created: newer or same age version exists
cpio: lib64/librt.so.1 not created: newer or same age version exists
cpio: lib64 not created: newer or same age version exists
cpio: lib64/libdl.so.2 not created: newer or same age version exists
cpio: lib64/libpthread.so.0 not created: newer or same age version exists
cpio: lib64/ld-linux-x86-64.so.2 not created: newer or same age version exists
cpio: lib64/libc.so.6 not created: newer or same age version exists
cpio: lib64 not created: newer or same age version exists
cpio: lib64/libuuid.so.1 not created: newer or same age version exists
cpio: lib64/libblkid.so.1 not created: newer or same age version exists
cpio: lib64/ld-linux-x86-64.so.2 not created: newer or same age version exists
cpio: lib64/libc.so.6 not created: newer or same age version exists
*         >> Finalizing cpio...
*         >> Compressing cpio data (.xz)...
* 
* Kernel compiled successfully!
* 
* Required Kernel Parameters:
*     root=/dev/$ROOT
* 
*     Where $ROOT is the device node for your root partition as the
*     one specified in /etc/fstab
* 
* If you require Genkernel's hardware detection features; you MUST
* tell your bootloader to use the provided INITRAMFS file.

* WARNING... WARNING... WARNING...
* Additional kernel cmdline arguments that *may* be required to boot properly...
* add "dolvm" for lvm support
* add "domdadm" for RAID support
* With support for several ext* filesystems available, it may be needed to
* add "rootfstype=ext3" or "rootfstype=ext4" to the list of boot parameters.

* Do NOT report kernel bugs as genkernel bugs unless your bug
* is about the default genkernel configuration...
* 
* Make sure you have the latest ~arch genkernel before reporting bugs.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от Einstok_Fair

Ядро собирается с модулями, или без? И попробуй, все таки, пересобрать его еще разс чистого листа (без олдконфига).

anti_win ★★
()
Ответ на: комментарий от anti_win

сделай dmesg и выложм здесь.

Я не могу его сделать, потому что нет файла /var/log/dmesg на диске. А dmesg от livecd этот не тот который нужен.

Einstok_Fair ★★☆
() автор топика

Ты отпишись, когда починишь (неважно каким способом) и расскажи, как ты это сделал. Просто интересно.

anti_win ★★
()
Ответ на: комментарий от Einstok_Fair

Тогда попробуй все таки вариант с ручной пересборкой ядра и mkinitpcio. Не удаляй при этом рабочее ядро.

anti_win ★★
()
Ответ на: комментарий от anti_win

Ядро собирается с модулями, или без?

С модулями. Это видно из строчки

>> Compiling 5.4.12-gentoo modules..
в сообщении, на которое ты отвечал.

Я собрал старое (4.20) ядро с переставленными галочками.

# zgrep GENTOO /proc/config.gz
CONFIG_GENTOO_LINUX=y
CONFIG_GENTOO_LINUX_UDEV=y
CONFIG_GENTOO_LINUX_PORTAGE=y
# CONFIG_GENTOO_LINUX_INIT_SCRIPT is not set
CONFIG_GENTOO_LINUX_INIT_SYSTEMD=y

Оно тоже работает (как и ядро 4.20 без переставленных галочек).

Я не могу собрать initramfs руками, потому что туда много всего напихано и я в этом не разбираюсь.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от Einstok_Fair

Об этом и речь. Возможно, в нововом ядре нужны другие опции при компиляции. А может просто баг.

anti_win ★★
()
Ответ на: комментарий от Einstok_Fair

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

anti_win ★★
()
Ответ на: комментарий от anonymous

В некотором смысле да. Я сказал genkernel-у, чтобы он прописал symlink на последнее ядро. а /usr/src/linux меняется во время emerge gentoo-sources, если USE-флаг symlink указан

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от anonymous

Там делов не на пять минут, а гораздо, гораздо больше. Это во-первых. А во-вторых, предлагать заведомо ненужную работу без каких-либо оснований - это глупо, тут любой откажется. Пойди-ка на ближайшую железнодорожную станцию, вагоны поразгружай.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от LongLiveUbuntu

Зачем прописывать путь к исполняемому файлу systemd в параметры загрузчика? Я думал, что это всё делает genkernel-next.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от LongLiveUbuntu

Это не так

С чего ты взял? У меня есть опыт запуска предыдущей версии ядра. И всё отлично работает с systemd без каких-либо прописываний. Это значит, что навык работы с genkernel-next у меня правильный. А ты порешь чушь.

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.