LINUX.ORG.RU

Создание загрузочного образа


0

1

Пытаюсь создать скрипт для автоматического формирования дистрибутива debian c нужным списком пакетов. Долго искал готовый tutorial, но везде только отрывочные сведению. Разбивка на разделы и форматирование проходят успешно. Но не могу понять как мне сделть этот образ загрузочным с помощью grub. В интернете везде расписано для случая, когда реальное устройство. Подскажите. Где-то предлагают запустить

echo '(hd0) /dev/sda' > usb/grub/device.map
grub-install --root-directory=usb --no-floppy '(hd0)'


Но я не понимаю, как grub догадывается (если должен), что записать надо в образ смонтированный по /dev/loop0 да еще с каким-то отступом, а не в реальный /dev/sda?


Заготовка скрипта

#!/bin/sh

IMAGE=usb.img
FLASH_SIZE=512

#Create image and partions if it doesn't exist
if [ ! -f $IMAGE ]
then
#Create flash image
dd if=/dev/zero of=$IMAGE bs=1M count=$FLASH_SIZE
#Create partion table
#256 Mb system, 257-FLASH_SIZE - /homesave
fdisk -b 512 -C $FLASH_SIZE -S 32 -H 64 $IMAGE < fdisk.conf
echo «FDISK RESULTS:==============================»
fdisk -b 512 -C $FLASH_SIZE -S 32 -H 64 -l $IMAGE
echo «============================================»
fi
#end of Image creation

#create rootfs with multistrap
if [ ! -f rootfs ]
then
source rootfs.sh
fi

#Create loop device
#skip first track 32*512 = 16384
losetup -o16384 /dev/loop0 $IMAGE

#Format with Ext2fs
mkfs.ext2 /dev/loop0

[ ! -d usb ] && mkdir usb

#Mount partion
mount -t ext2 /dev/loop0 usb

#Make root filesystem
cp -a rootfs/* usb

#Configure dpkg
#chroot usb && dpkg --configure -a

umount /dev/loop0
losetup -d /dev/loop0

★★

а зачем там граб вообще? есть же isolinux, syslinux, специально для этого предназначенные

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