On Fri, Mar 10, 2006 at 02:38:54PM +0300, Eugene Prokopiev wrote: > > Если оставлять старый механизм работы с initrd, нужно определить > > major/minor нужного устройства в /dev, созданного утилитами lvm, и > > записать его в /proc/sys/kernel/real-root-dev. > > да, работает :) > > > Можно перейти на новый механизм обработки initrd (root=/dev/ram0, linuxrc > > запускается как init (pid==1) и должен смонтировать реальный root, после > > чего выполнить pivot_root туда и exec /sbin/init). > > в /root смонтирован настоящий /root (из /dev/system/root) > > пишу > > pivot_root /root /var/root > или > pivot_root /root /loopfs > > мне заявляют Device or resource busy в первом случае и Invalid argument > во втором. В /var/root и /loopfs ничего нет - это пустые каталоги Второй из каталогов должен быть на новом корне. В man pivot_root написано, как правильно его применять, чтобы это работало на всех ядрах. > > Либо перейти на initramfs (примерно то же самое, но вместо pivot_root > > выполняется chroot, и хорошо бы зачистить за собой initramfs, чтобы не > > занимать память). > > попробую. > > как зачищать? Чем-то типа http://kernel.org/git/?p=libs/klibc/klibc.git;a=tree;h=2fada3e78ac03e588155bd40f31b672b93e52daa;hb=7a3728f1058a791118628ecc372fd3155ee3ec5e;f=usr/kinit/run-init > это есть смысл делать только для initramfs? Да (в остальных способах initrd либо отмонтируется и уничтожается самим ядром, либо перемонтируется в каталог на реальном корне, откуда его можно потом отмонтировать и сделать blockdev --flushbufs /dev/ram0 в стартовых скриптах).