From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <4285ADA3.4060205@altlinux.com> Date: Sat, 14 May 2005 11:49:55 +0400 From: Anton Farygin User-Agent: Mozilla Thunderbird 1.0 (X11/20050202) X-Accept-Language: en-us, en MIME-Version: 1.0 To: ALT Devel discussion list Subject: Re: [devel] Re: FS label detection at boot time References: <428498E9.9010205@vzljot.ru> <20050513121543.GA32124@master.mivlgu.local> <4284C2BB.5020601@vzljot.ru> In-Reply-To: <4284C2BB.5020601@vzljot.ru> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 May 2005 07:54:35 -0000 Archived-At: List-Archive: List-Post: Vitaly Ostanin wrote: > Sergey Vlasov пишет: > >> On Fri, May 13, 2005 at 04:09:13PM +0400, Vitaly Ostanin wrote: >> >>> Обнаружилась странность в работе >>> mount -L label ... >>> и /sbin/blkid. >>> >>> В загруженной системе монтирование по метке проходит нормально, >>> blkid всё правильно определяет. >>> >>> А вот на этапе загрузки монтирование по метке не работает - no >>> such partition, /sbin/blkid ничего не выводит. Проверял вставкой >>> в livecd на этапе перемонтирования root в rw: >>> >>> mkdir /mnt/usbroot >>> echo "Trying blkid:" >>> /sbin/blkid >>> mount `/sbin/blkid -t LABEL=usbroot | cut -d ':' -f1` \ >>> /mnt/usbroot -o sync >>> >>> Также не отрабатывает >>> mount -L usbroot /mnt/usbroot -o sync >>> >>> Монтирование с явным указанием раздела /dev/sda2 работает. >>> >>> Так вот, чего может не хватать определению разделов по метке? >> >> >> /proc, /sys в этот момент есть? USB-устройство уже определилось ядром? > > > /proc и /sys в этот момент есть. > > В аттаче вывод strace -eopen от blkid на этапе загрузки в livecd > (strace.blkid.livecd), и от запущенного в рабочей системе. > Запустить его в уже загруженном livecd я забыл, но разделы там > точно определяются. > ну примерно все ясно. Попробуйте перед blkid на этапе загрузки вывести содержимое /proc/partitions Похоже что blkid ищет разделы, полагаясь на содержимое /proc/partitions, а там может быть пусто. Скорее всего дело в том, что еще не отработал hotplug. Рекомендую пересмотреть в корне схему добавления usbroot, написав скрипт в /etc/dev.d для блочных устройств. А еще лучше - реализовав это с помощью hal (там надо патчить, но оно того стоит). Т.е. - в идеале должно выглядеть примерно так: hotplug детектит устройства, загружает модули ядра, при появлении блочных устройств идет event тому же hotplug'у, udev и hal о появлении устройства... hal детектит тип файловой системы, label (это он умеет), потом в зависимости от label добавляет соответствующие записи в /etc/fstab или запускает программу монтирования с необходимыми опциями. Все есть, за исключением запуска программы монтирования. Rgds, Rider