LINUX.ORG.RU
ФорумTalks

Прогресс по части отдельного /usr без initrd

 , , ,


0

2

Гентушники запилили (пилят) поддержку отдельного /usr без initrd через бинарник busybox в корне (init=/ginit). Монтирует в RO и потом может передернуть fsck, но там какой-то баг в нем. Как я понял, оно будет работать даже после переноса всего в /usr.

Ссылка: http://archives.gentoo.org/gentoo-dev/msg_978b2222cb87ec028fee65dc29eedbdb.xml

★★☆☆☆

Последнее исправление: FiXer (всего исправлений: 2)

Выглядит интересно.

O02eg ★★★★★
()

А в правильных дистрибутивах разработчики клали на этот перенос всего в /usr.

GotF ★★★★★
()

Я так понял, существует две воинствующие группировки линуксоидов: те, кто накручивает уровни абстракии и те, кто прибивает всё гвоздями. Побеждают с переменным успехом.

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

bind гораздо умнее, он может объединять два каталога в один.
Так, если сделать bind -bc /usr/glenda/myroot /, то корень будет доступен как прежде, но все новые файлы будут перенаправлены в /usr/glenda/myroot.
(/usr/ — аналог /home/ в Plan 9)

quantum-troll ★★★★★
()
Ответ на: комментарий от FiXer

Не все оборудование его поддерживает, как я понял.

Вот к обычным компьютерам это никак не относится.

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

/usr/src/linux/Documentation/filesystems/ramfs-rootfs-initramfs.txt

All 2.6 Linux kernels contain a gzipped «cpio» format archive, which is extracted into rootfs when the kernel boots up. After extracting, the kernel checks to see if rootfs contains a file «init», and if so it executes it as PID 1. If found, this init process is responsible for bringing the system the rest of the way up, including locating and mounting the real root device (if any). If rootfs does not contain an init program after the embedded cpio archive is extracted into it, the kernel will fall through to the older code to locate and mount a root partition, then exec some variant of /sbin/init out of that

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

А дальше?!

/usr/src/linux/Documentation/filesystems/ramfs-rootfs-initramfs.txt

The 2.6 kernel build process always creates a gzipped cpio format initramfs archive and links it into the resulting kernel binary. By default, this archive is empty (consuming 134 bytes on x86).

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

Если он пустой, то можно считать, что его нет.

daemonpnz ★★★★★
()
Ответ на: комментарий от quantum-troll

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

shatsky ★★
()

By default, this archive is empty (consuming 134 bytes on x86)

@ qnikst , daemonpnz: а как его сделать не «empty»?

и еще: какие плюсы и минусы «ядерного» и «не ядерного» (я ничего не напутал?) initrd?

ZuBB ★★★★★
()

это не прогресс, а костылестроение. И попытки присобачить новую ногу на место отстреленной старой.

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

одного философа уже забанили здесь..

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

Можно было бы критичные для загрузки вещи оставить в /usr/, а остальное привязывать при загрузке, например.

quantum-troll ★★★★★
()

Нафиг? Тяжело ядрышко пересобрать?

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

Я так понял, существует две воинствующие группировки линуксоидов: те, кто накручивает уровни абстракии и те, кто прибивает всё гвоздями. Побеждают с переменным успехом.

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

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от quantum-troll

bind гораздо умнее, он может объединять два каталога в один.

Хотеть!

SmaL
()
Ответ на: комментарий от quantum-troll

А чем ваша одна команда отличается от одной команды с aufs2 ? Или вы хотите чтобы буква в букву совпадало?

Kroz ★★★★★
()

Ничего не имею против bb, но пихать его там же где и coreutils имхо бесмысленно. Более того, я так понял, что можно теперь эксплуатировать систему через init=/ginit sh [тра-ля-ля, мои нехорошие команды], что уже ставит под сомнение надежность данного решения. Надеюсь, кто-нибудь запилит адекватное решение без всей излишней няшности bb.

gh0stwizard ★★★★★
()
Ответ на: комментарий от quantum-troll

Не требуется использовать отдельную внешнею надстройку?

Что понимается под внешней надстройкой?
В любом случае нужна установка соответствующих утилит. Для aufs3 - нужно патчить ядро. Но это один из популярных патчей, так что, скажем, в Gentoo сделали так, что это ничем не отличается от установки любого другого софта, разве что после установки нужно пересобрать ядро. (Кстати, последнее обновление патча - 2012-04-02). В некоторых других случаях оно сразу в ядре (ЕМНИП - в zen-kernel, live-dvd дистрибутивах).

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

Прыщую. Пора валить с этой колымаги на федору.

x0r ★★★★★
()
Ответ на: комментарий от quantum-troll

Спасибо, а без специальных файловых систем можно?

В этих ваших планах девятого сорта без специальных файловых систем и шагу не сделать.

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

Спасибо, без тебя я бы не догадался, нужен ли мне initrd. Теперь я знаю. Кстати, расскажи, пожалуйста, как загрузить систему на LVM и mdraid без initrd.

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

GRUB2, разве не поможет?

Поможет. Но не всегда есть возможность/желание его использовать. И я не смотрел, понимает ли он все уровни RAID.

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

Вру, не поможет. Для LVM требуется инициализация со стороны userspace, то есть GRUB2 может загрузить с LVM ядро и initrd, но для того, чтобы примонтировать корень, надо из initrd проинициализировать LVM.

Black_Shadow ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.