проблема с установкой grub2 на флешку

2008-12-23 Пенетрантность Dmitriy Blinov

Задача:
Создать образ флешки с установленной debian  и  загрузчиком  GRUB2.

Решаю так:
FLASH=/home/bda/flash.img
dd if=/dev/zero of=$FLASH bs=512 
count=993*16*63   #создаём нулевую флешку
rootdev=`losetup 
-f`
#получаем свободный  loop device
losetup --offset `expr $root_start * 512` $rootdev  
$FLASH  #cвязываем образ нашей флешки с loop device


mke2fs  -q -F -j  -b 1024$rootdev  `expr $root_len / 2` 
#делаем файловую систему

tune2fs -c 1 -e remount-ro -i 0$rootdev

mount -n $rootdev /home/bda/flash 
-orw  #монтируем 
нашу псевдо-флешку в /home/bda/flash


затем создаётся корневая система в /home/bda/flash
с этим этапом всё ок, я уверен.

grub-install --root-directory=/home/bda/flash  
$rootdev   #пытаемся инсталлировать grub2   
$rootdev = /dev/loop6


и вот тут получаем ошибку:
grub-probe: error: Cannot find a GRUB drive for /dev/loop6.  Check your 
device.map



Содержимое device.map:
(hd0)  /home/bda/flash.img

т.к. флешка будет единственным носителем, там где будет использоваться.


Вопрос:
Есть ли вообще возможность поставить grub2 c использованием loop device?

Повторяю то же самое с реальной флешкой - и grub2 замечательно ставится
т.е. sudo grub-install --root-directory=/mnt/flash  /dev/sdb1 
отрабатывает без проблем (если реальная флешка /dev/sdb1 смонтирована в 
/mnt/flash)


И вобще grub-probe определяет drive для любых девайсов кроме loop device.


P.S.
если устанавливать старый grub 0.97 вместо нужного мне  grub2 1.96,
то всё ставится и работает на ура - вот так:
echo (hd0) $FLASH  $DEVICE_MAP
grub --batch --device-map=$DEVICE_MAP  EOF
geometry (hd0) 993 16 63
root (hd0,0)
setup (hd0)
EOF





--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: проблема с установкой grub2 на флешку

2008-12-23 Пенетрантность Павел Марченко
ставил grub на флешку просто подмонтировав ее и сказав grub-install /dev/sdb1
потом только откорректировать /boot/grub/menu.lst

-- 
В смысле осмысления бессмысленного смысл тоже имеет определенную
осмысленность!!!