Ads Top

install grub2 in disk image


I finally installed grub2 to disk image, in the internet, almost tutorials are legacy grub, thats why i write this article:

Step 1) you need to build grub2 first, just download the source and ./configure --prefix=/root/grub2 --enable-device-mapper , i am using grub 2.00

Step 2) type make , you need the following files

Makefile:
all:

        dd if=/dev/zero of=hd.img count=20 bs=1047675
        ./createPartition.sh
        kpartx -a hd.img
        mkfs.vfat /dev/mapper/loop0p1
        mount /dev/mapper/loop0p1 1
        mkdir -p 1/boot/grub
        cp grub.cfg 1/boot/grub/grub.cfg
        cp ../multiboot/kernel.bin 1/boot/


        echo "(hd0) /dev/loop0" > device.map
        echo "set prefix=(hd0,msdos1)/boot/grub" > mycfg.cfg
        ~/grub2/bin/grub-mkimage --config=mycfg.cfg -p /boot -O i386-pc -o 1/boot/grub/core.img loadenv chain biosdisk part_dvh part_msdos msdospart part_gpt exfat ext2 fat vbe vga ntfs echo test configfile minicmd hdparm normal multiboot
        cp ~/grub2/lib/grub/i386-pc/boot.img 1/boot/grub/
        ~/grub2/sbin/grub-bios-setup -m device.map -d 1/boot/grub /dev/loop0
        sleep 1
        umount 1
        kpartx -d hd.img

bochs:
        xterm -geo 150x30+800+400 -bg black -fg white -e 'bochs -q -f bochsrc.bxrc'

qemu:
        qemu -hda hd.img -net none #-hdb hdb.img


createPartition.sh:

#!/bin/bash


cat <<EOM| fdisk hd.img
n
p
1


t
c
w
EOM

echo ok # you need this line

mycfg.cfg:
set prefix=(hd0,msdos1)/boot/grub



if you have trouble, you can ask me : mcheung63@hotmail.com


沒有留言:

技術提供:Blogger.