1 (19.03.2019 12:45:36 отредактировано serafim-human)

Всем джентушникам доброго времени суток. Решил я на виртуалку дженту поставить и все шло вроде ничего, распаковал stage 3 в корень и т.д. исходники ядра установились без ошибок, а во genkernel не удалось мне поставить и было про роботу с systemd (который мне не нужен) и что-то еще не по-нашему написано и какие мои дальнейшие действия из этого не ясно. Ядро без ошибок собралось и установилось и в загрузчик я его успешно прописал, но при загрузке кернел паник потому что корень найти оно не может. Если для этого нужен initramfs, то он, насколько я понимаю, только с помощью того же genkernel собирается и вопрос что я не делаю или делаю не так, хотя ядра я с таких лохматых времен собираю, что ядро без всяких шуток на 1.44 дискету должно было уместится, иначе без правки ручками мейкфайла его только с отдельно лежащими модулями и соберешь, потому что ядро с помощью команды dd записывалось на дискету и первый сектор ядра был загрузочным и, если специальной командой ядро пропатчить на предмет где корень искать, то вот вам и без загрузчика система. Простите, что вспомнил молодость, а так я всю последовательность своих действий тут выложить могу. Последний выхлоп консоли был такой:

 Консоль:
livecd / # emerge --ask sys-kernel/genkernel

* IMPORTANT: 2 news items need reading for repository 'gentoo'.
* Use eselect news read to view new items.


* IMPORTANT: 7 config files in '/etc/portage' need updating.
* See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
* sections of the emerge man page to learn how to update config files.

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] sys-apps/util-linux-2.33-r1  USE="static-libs*"
[ebuild  N     ] sys-kernel/genkernel-3.5.3.3  USE="firmware -cryptsetup (-ibm) (-selinux)"

The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by sys-kernel/genkernel-3.5.3.3::gentoo
# required by sys-kernel/genkernel (argument)
>=sys-apps/util-linux-2.33-r1 static-libs

Would you like to add these changes to your config files? [Yes/No] y

Autounmask changes successfully written.

* IMPORTANT: 8 config files in '/etc/portage' need updating.
* See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
* sections of the emerge man page to learn how to update config files.

2

serafim-human
Ну так опишите последовательность действий, как собирали ядро, что  как делали, ну и конфиг ядра, если можно.
Еще что за система, systemd или openrc с eudev?

3

serafim-human, Отделил в отдельную тему. Переименуешь тему по своему желанию.
На будущее: не стоит поднимать тему 7-и летней давности новым вопросом, т.к. этот вопрос похож на ту тему "шо свиня на бика ag " как минимом по той простой причине что и в ядре и в самом gentоо за это время прилетело столько нового что по сути gentoo 7-и летней давности и текущее это две абсолютно разные системы bx

- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему

4

Нового то прилетело, но подходы при сборке не сильно отличаются...
serafim-human, stage4 сейчас есть - ядро в комплекте.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

5 (20.03.2019 06:06:41 отредактировано serafim-human)

Загрузился в виртуалке с gentoo live cd, потому что мое реальное железо слишком специфичное, чтобы начинать на нем тренироваться. Загрузился в иксы, чтобы копипастить в консоль удобнее было, залогинился в консоли под рутом с помощью команды "sudo su --". Создал с помощью gparted раздел 20 ГБ, примонтировал его к /mnt/gentoo, зашел в зеркало яндекса в раздел releases/amd64/autobuilds/ и скачал оттуда stage3-amd64-<date>.tar.bz2, только почему-то он там не bz а xz оказался поэтому из команды tar xvjpf stage3-*.tar.bz2 пришлось буковку j мне убрать, потому что она для архивов bz и с ней разархивировать не получалось. Своп делать не стал, потому что запросто могу выделить более 4 Гигов оперативки. На корневом разделе все системные папки в т.ч. /boot. Затем:

livecd ~ #nano -w /mnt/gentoo/etc/portage/make.conf


1 CFLAGS="-O2 -pipe"
2 # Для четырехядерного процессора
3 MAKEOPTS="-j5"
4 # Для графической оболочки XFCE
5 USE="-gnome -kde -minimal -qt4 dbus jpeg lock session startup-notification thunar udev X"


livecd ~ #mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf

Выбираю зерколо яндекса пробел, save.

livecd ~ # mkdir /mnt/gentoo/etc/portage/repos.conf

livecd ~ # cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

livecd ~ # cp -L /etc/resolv.conf /mnt/gentoo/etc/

livecd # mount -t proc proc /mnt/gentoo/proc
livecd # mount --rbind /sys /mnt/gentoo/sys
livecd # mount --make-rslave /mnt/gentoo/sys
livecd # mount --rbind /dev /mnt/gentoo/dev
livecd # mount --make-rslave /mnt/gentoo/dev


livecd # chroot /mnt/gentoo /bin/bash
livecd # source /etc/profile
livecd # export PS1="(chroot) $PS1"


(chroot) livecd ~ # emerge-webrsync

(chroot) livecd ~ # mkdir /usr/portage
(chroot) livecd ~ # mkdir -p /usr/portage/metadata/
(chroot) livecd ~ # nano -w /usr/portage/metadata/layout.conf

1  masters = gentoo


(chroot) livecd ~ # eselect profile list

[16]   default/linux/amd64/17.0/desktop


(chroot) livecd ~ # eselect profile set 16


(chroot) livecd ~ # nano -w /etc/locale.gen

1 en_US.UTF-8 UTF-8
2 ru_RU.UTF-8 UTF-8

(chroot) livecd ~ # locale-gen

(chroot) livecd ~ # eselect locale list


Available targets for the LANG variable:
  [1]   C
  [2]   en_US.utf8 *
  [3]   POSIX
  [4]   ru_RU.utf8


(chroot) livecd ~ # eselect locale set 2

(chroot) livecd ~ # env-update && source /etc/profile && export PS1="(chroot) $PS1"

(chroot) livecd ~ # emerge --ask sys-kernel/gentoo-sources

(chroot) livecd ~ # emerge --ask sys-kernel/genkernel


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

6

serafim-human
Почти все написанное, лишнее))
У вас я так понял система без systemd.
По этому больше интересует конфиг ядра, ну и команда которой собирали ядро.
обычно самое распространенное:

 Консоль:
# genkernel all --kernel-config=/путь/конфиг --menuconfig

Этой командой подхватывается сторонний конфиг ядра и вызывается меню для правки параметров ядра. по выходу из меню происходит автоматическая сборка. Создается также автоматом файл initramfs, который вам и нужен.
Попробуйте побаловаться с разными конфигами ядра с каким нибудь да пойдет.
Самая распространенная команда сборки это:
 Консоль:
# genkernel all

7 (20.03.2019 07:52:50 отредактировано serafim-human)

 Консоль:

# genkernel all
# genkernel not found.

# emerge --ask sys-kernel/genkernel

Ошибка установки. Выхлоп консоли есть полностью в 1-м посте. И самое главное что мне вот с этим делать:

 Консоль:

* IMPORTANT: 8 config files in '/etc/portage' need updating.
* See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
* sections of the emerge man page to learn how to update config files.

И что мне делать дальше, после того как ядро таки загрузится? Да, система без systemd, потому что никаких аргументов в пользу этого я пока не вижу. И еще более общий вопрос, что когда столько всего утекло и столько всего прилетело, а ядро собрать без initramfs не получается.. Ведь давно прошли те времена, когда ядро кроме minix и ex2fs без подгружаемых модулей ничего более не понимало? Хотя на этот вопрос ответ может и найдется, но готового решения нет.

8 (20.03.2019 08:17:17 отредактировано zenon)

Чтобы собрался genkernel поправить ему флаг, руками:

# mkdir -p /etc/portage/package.use
# nano -w /etc/portage/package.use/world

Туда:

sys-apps/util-linux static-libs

Выполнить etc-update, тк emerge просит об этом.
Или dispatch-conf.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

 Консоль:
etc-update

Вот чего ей на самом деле не хватало. После этого genkernel установился без вопросов и уже пошла компиляция. О результатах позднее отпишу.