Не монтируются разделы aufs [SOLVED]

Если распаковать файлик initramfs и почитать скрипт linuxrc из этого файла, то видно что при монтировании корневого раздела используются данные, которые передаются в параметрах загрузки а не из файла /etc/fstab

Вопрос вот в чем, в какой момент корневая директория перемонтируется с данными из файла /etc/fstab и каким образом прописать в initramfs свой параметр загрузки.

Upd.
Для этого нужно в головной системе подключить оверлей sunrise (http://overlays.gentoo.org/proj/sunrise), в клиентской системе проинсталировать пакет sys-fs/aufs Дальше выполнить следующие действия в чрут окружении клиентской системы

1. mkdir /initramfs
2. cd /initramfs
3. zcat /boot/initramfs | cpio -idv

После этого скопировать в каталог initramfs все файлы которые выведет команда equery files sys-fs/aufs
Поправить файлик /etc/initramfs/etc/initrd.scripts

if [ "${NFSROOT}" !=  ]
               then
                       if [ "${CDROOT}" != '0' ]
                       then
                               good_msg "Attempting to mount NFS CD image on ${NFSROOT}"
                               mount -t nfs -o ro,nolock,rsize=1024,wsize=1024 ${NFSROOT} ${NEW_ROOT}/mnt/cdrom
                               if [ "$?" = '0' ]
                               then
                                       REAL_ROOT="/dev/nfs"
                               else
                                       bad_msg "NFS Mounting failed. Is the path corrent ?"
                               fi
                       else
                               good_msg "Attempting to mount NFS root on ${NFSROOT}"
                               insmod /lib/modules/2.6.24-gentoo-r8/misc/aufs.ko
                               mkdir -p /ro_root
                               mount -t nfs -o ro,nolock,rsize=1024,wsize=1024 ${NFSROOT} /ro_root
                               good_msg "Trying to mount rw root"
                               mkdir -p /rw_root
                               mount -n -t tmpfs -osize=256M /dev/shm1 /rw_root
                               mount -n -t aufs -o dirs=/rw_root=rw:/ro_root=ro aufs ${NEW_ROOT}

И запаковать новый initramfs командой
find * | cpio -o --quiet -H newc | gzip -9 > /boot/initramfs

>>В каком

>>В каком скрипте при загрузке используются данные из /etc/fstab

root@myhost#grep fstab /etc/init.d/*

По поводу системы инициализации линя должно быть подробно расписано в книжке linuxfromscratch
eix linuxfromscratch

Ну или гуглить опять жеж.

>>Если распаковать файлик initramfs и почитать скрипт linuxrc
имхо это только в начале. Системе надо откудато взять дрова под фс и тузлы для монтирования/проверки корня.

.

wi написал(а):
По поводу системы инициализации линя должно быть подробно расписано в книжке linuxfromscratch

ЕМНИП в зоопарке можно найти реализации обоих вариантов.
Нужно читать более фундаментальную литературу.
--
Live free or die

Что

Что подразумевается под прописыванием параметра в initramfs параметра?

Я когда делал сетевую загрузку пришел к выводу, что проще всего передавать тому initramfs, который делает genkernel параметр init и указывать свой скрипт, который монтирует ФС в оперативке, создает в них модифицируемые версии etc и var, раскатывает чистую базу mysql, а затем вызывает уже стандартный init.

Этот подход не

Этот подход не самый быстрый получается. При загрузке рабочей станции нужно время на то чтобы запаковать и распаковать /etc /usr и $HOME

Я хочу сделать в качестве корневого раздела рабочей станции RO NFS + TMPFS -> AUFS
Но вот никак не найду в каком месте правильно попрописать перемонтирование корневого раздела.
Я так думаю, что лучше всего это сделать в файлике
/etc/init.d/checkroot

Строку

        # already mounted rw in which case there's nothing for us to do
        if mount -vf -o remount / 2> /dev/null | \
           awk '{ if ($6 ~ /rw/) exit 0; else exit 1; }' && \
           ! touch -c / >& /dev/null
        then
                ebegin "Remounting root filesystem read/write"
                mount -n -o remount,rw / &> /dev/null
                if [[ $? -ne 0 ]] ; then
                        eend 2 "Root filesystem could not be mounted read/write :("

Переделать в

        # already mounted rw in which case there's nothing for us to do
        if mount -vf -o remount / 2> /dev/null | \
           awk '{ if ($6 ~ /rw/) exit 0; else exit 1; }' && \
           ! touch -c / >& /dev/null
        then
                ebegin "Remounting root filesystem read/write"
                mount -n -o remount,rw / &> /dev/null
                if [[ $? -ne 0 ]] ; then
                        Вот здесь нужно смонтировать nfs раздел в /newroot
                        Темповый раздел в /rwroot
                        Оба зарздела объеденить в / При помощи aufs
                        eend 2 "Root filesystem could not be mounted read/write :("

Ну вот в баше не силен. Подскажите пожалуйста как поправить конфиг, чтобы можно было сделат корневой каталог на nfs+aufs и возможно ли это в принципе.

Есть небольшой

Есть небольшой апдейт, RW нужно делать не все разделы а только /home /usr /etc /var
Попробовал на рабочей системе подгрузить модуль aufs
insmod /lib/modules/2.6.24-gentoo-r8/misc/aufs.ko brs=1
Подгрузился без ошибок
После этого пробую руками подмонтировать два каталога в aufs и получаю ошибку

# mount.aufs br:/mnt/aufs none /mnt/result
/sbin/mount.aufs: line 62: cd: none: Нет такого файла или каталога

после Upd. Для этого нужно

после

Upd.
 Для этого нужно в 

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

     --no-busybox            Do not include busybox in the initramfs.
        --unionfs               Include support for unionfs
        --netboot               Create a self-contained env in the initramfs

;)
но и оно не нужно, ибо:

  --initramfs-overlay=<dir>
                                Directory structure to include in the initramfs,
                                only available on 2.6 kernels

и все щто стандартным образом, одной командой, и для любой сборки ядра.
Внимание, вопрос: Откуда я это скопипастил ? :)))

П.С Все что вы хотите изобрести в первые 5-ть лет работы с никсами - уже изобретено
Все, что вы хотите написать в следуюющие 5-ть лет - уже написано
После 10-лет вы можете, но уже не хотите, понимая , что проще уже не сделаешь ;)

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Совсем не обязательно

Совсем не обязательно копировать все файлы, которые содержатся в пакете sys-fs/aufs, достаточно либо собрать aufs монолитно в ядро, либо скопировать только модуль и прописать его загрузку в init сценарии initrd, перед попыткой монтирования aufs.

Я это говорю, т.к. так делал, накладывал вручную патч на gentoo-sources-3.1 и vanilla-sources-3.0.0, так же использовал zen-sources-3.0.6, собирал aufs монолитно, утилиты aufs не ставил, только поддержка в ядре.

Ну а по поводу дальнейшей правки init сценария тут как вы уж сами хотите, можно и другим способом написать.

UPD: Не посмотрел дату создания темы, некропост прям, отписался потому, что тема рядом в списке была.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".