|
From: | Peter Cheung |
Subject: | RE: grub in mac |
Date: | Wed, 11 Nov 2015 11:52:52 +0800 |
Here you go, thanks again:
/Users/peter/NetBeansProjects/PeterI>$base/sbin/grub-bios-setup -v --no-rs-codes -m device.map -c ../../`pwd`/temp/boot/grub/core.img -b ../../toolchain/lib/grub/i386-pc/boot.img /dev/disk2 /toolchain/sbin/grub-bios-setup: info: adding `hd0' -> `/dev/disk2' from device.map. /toolchain/sbin/grub-bios-setup: info: /dev/disk2 is present. /toolchain/sbin/grub-bios-setup: info: Looking for /dev/disk2. /toolchain/sbin/grub-bios-setup: info: /dev/disk2 is a parent of /dev/disk2. /toolchain/sbin/grub-bios-setup: info: Looking for /dev/disk2. /toolchain/sbin/grub-bios-setup: info: /dev/disk2 is a parent of /dev/disk2. /toolchain/sbin/grub-bios-setup: info: transformed OS device `/dev/disk2' into GRUB device `hd0'. /toolchain/sbin/grub-bios-setup: info: reading /boot/grub/../../toolchain/lib/grub/i386-pc/boot.img. /toolchain/sbin/grub-bios-setup: info: reading /boot/grub/../..//Users/peter/NetBeansProjects/PeterI/temp/boot/grub/core.img. /toolchain/sbin/grub-bios-setup: info: root is `(null)', dest is `hd0'. /toolchain/sbin/grub-bios-setup: info: Opening dest. /toolchain/sbin/grub-bios-setup: info: drive = 0. /toolchain/sbin/grub-bios-setup: info: the size of hd0 is 0. /toolchain/sbin/grub-bios-setup: info: changing current directory to /dev. /toolchain/sbin/grub-bios-setup: info: changing current directory to fd. /toolchain/sbin/grub-bios-setup: info: /dev/rdisk1 is not present. /toolchain/sbin/grub-bios-setup: info: Looking for /dev/rdisk1. /toolchain/sbin/grub-bios-setup: info: /dev/rdisk1 is a parent of /dev/rdisk1. /toolchain/sbin/grub-bios-setup: info: Looking for /dev/rdisk1. /toolchain/sbin/grub-bios-setup: info: /dev/rdisk1 is a parent of /dev/rdisk1. /toolchain/sbin/grub-bios-setup: info: drive = 1. /toolchain/sbin/grub-bios-setup: error: guessing the root device failed, because of `disk `hostdisk//dev/rdisk1' not found'. using '(hd0)' /Users/peter/NetBeansProjects/PeterI>$base/sbin/grub-bios-setup -v --no-rs-codes -m device.map -c ../../`pwd`/temp/boot/grub/core.img -b ../../toolchain/lib/grub/i386-pc/boot.img '(hd0)' /toolchain/sbin/grub-bios-setup: info: adding `hd0' -> `/dev/disk2' from device.map. /toolchain/sbin/grub-bios-setup: info: Using `hd0' as GRUB device. /toolchain/sbin/grub-bios-setup: info: reading /boot/grub/../../toolchain/lib/grub/i386-pc/boot.img. /toolchain/sbin/grub-bios-setup: info: reading /boot/grub/../..//Users/peter/NetBeansProjects/PeterI/temp/boot/grub/core.img. /toolchain/sbin/grub-bios-setup: info: root is `(null)', dest is `hd0'. /toolchain/sbin/grub-bios-setup: info: Opening dest. /toolchain/sbin/grub-bios-setup: info: drive = 0. /toolchain/sbin/grub-bios-setup: info: the size of hd0 is 0. /toolchain/sbin/grub-bios-setup: info: changing current directory to /dev. /toolchain/sbin/grub-bios-setup: info: changing current directory to fd. /toolchain/sbin/grub-bios-setup: info: /dev/rdisk1 is not present. /toolchain/sbin/grub-bios-setup: info: Looking for /dev/rdisk1. /toolchain/sbin/grub-bios-setup: info: /dev/rdisk1 is a parent of /dev/rdisk1. /toolchain/sbin/grub-bios-setup: info: Looking for /dev/rdisk1. /toolchain/sbin/grub-bios-setup: info: /dev/rdisk1 is a parent of /dev/rdisk1. /toolchain/sbin/grub-bios-setup: info: drive = 1.
/toolchain/sbin/grub-bios-setup: error: guessing the root device failed, because of `disk `hostdisk//dev/rdisk1' not found'. > Subject: Re: grub in mac > To: address@hidden > From: address@hidden > Date: Wed, 11 Nov 2015 06:43:14 +0300 > CC: address@hidden > > 11.11.2015 06:29, Peter Cheung пишет: > > Thanks i changed the device.map but still getting the same error :-( > >> cat device.map > > (hd0) /dev/disk2 > > > >> $base/sbin/grub-bios-setup --no-rs-codes -m device.map -c ../../`pwd`/temp/boot/grub/core.img -b ../../toolchain/lib/grub/i386-pc/boot.img $deviceName > > /toolchain/sbin/grub-bios-setup: error: guessing the root device failed, because of `disk `hostdisk//dev/rdisk1' not found'. > > > > > Could you add --verbose to grub-bios-setup and provide output? > > Also try grub-bios-setup ... '(hd0)' instead of passing OS device. > > > > > >> Subject: Re: grub in mac > >> To: address@hidden > >> From: address@hidden > >> Date: Wed, 11 Nov 2015 06:18:38 +0300 > >> CC: address@hidden > >> > >> 11.11.2015 06:05, Peter Cheung пишет: > >>> Hi yes, it is a loopback device in mac, > >>> /Users/peter>diskutil list > >>> /dev/disk0 (internal, physical): > >>> #: TYPE NAME SIZE IDENTIFIER > >>> 0: GUID_partition_scheme *251.0 GB disk0 > >>> 1: EFI EFI 209.7 MB disk0s1 > >>> 2: Apple_CoreStorage Macintosh HD 250.1 GB disk0s2 > >>> 3: Apple_Boot Recovery HD 650.1 MB disk0s3 > >>> /dev/disk1 (internal, virtual): > >>> #: TYPE NAME SIZE IDENTIFIER > >>> 0: Apple_HFS Macintosh HD +249.8 GB disk1 > >>> Logical Volume on disk0s2 > >>> AD00F0B6-B785-409F-B32F-F77FE8E2108E > >>> Unlocked Encrypted > >>> /dev/disk2 (disk image): > >>> #: TYPE NAME SIZE IDENTIFIER > >>> 0: FDisk_partition_scheme +104.9 MB disk2 > >>> 1: DOS_FAT_32 A 104.8 MB disk2s1 > >>> /Users/peter> > >>> This is my device.map: > >>> /Users/peter>cat NetBeansProjects/PeterI/device.map > >>> (hd0) /dev/loop0 > >>> The device.map work in linux, no sure it is the problem or not.thanksfrom Peter > >> > >> Do you have /dev/loop0 in OS X? You probably should have > >> > >> (hd0) /dev/disk2 > >> > >> > >> there. > >> > >> > >>>> Date: Tue, 10 Nov 2015 10:02:28 +0300 > >>>> Subject: Re: grub in mac > >>>> From: address@hidden > >>>> To: address@hidden > >>>> CC: address@hidden > >>>> > >>>> On Tue, Nov 10, 2015 at 9:59 AM, Peter Cheung <address@hidden> wrote: > >>>>> Hi Andrei > >>>>> the $deviceName is /dev/disk2, which is correct because i can see it > >>>>> using mac command "diskutil list". > >>>>> > >>>>> I am create a single file, containing a partition. I will use bochs emulator > >>>>> to boot that single file FS image. > >>>>> > >>>> > >>>> Is it something similar to Linux loop device then? I.e. /dev/disk2 > >>>> actually refers to this file you mention? Correct? What is in your > >>>> device.map? > >>>> > >>>>> thanks > >>>>> from Peter > >>>>> > >>>>>> Date: Tue, 10 Nov 2015 09:27:19 +0300 > >>>>>> Subject: Re: grub in mac > >>>>>> From: address@hidden > >>>>>> To: address@hidden > >>>>>> CC: address@hidden > >>>>> > >>>>>> > >>>>>> On Tue, Nov 10, 2015 at 7:33 AM, Peter Cheung <address@hidden> > >>>>>> wrote: > >>>>>>> hi, > >>>>>>> i am nearly able to build a file system image with FAT partition in mac, > >>>>>>> but i stuck in this command: > >>>>>>> > >>>>>> > >>>>>> Do you mean you create hard disk image and want to install GRUB on this > >>>>>> image? > >>>>>> > >>>>>>> sudo $base/sbin/grub-bios-setup --no-rs-codes -m device.map -c > >>>>>>> ../../`pwd`/temp/boot/grub/core.img -b > >>>>>>> ../../toolchain/lib/grub/i386-pc/boot.img $deviceName > >>>>>> > >>>>>> And what is $deviceName? > >>>>>> > >>>>>>> /toolchain/sbin/grub-bios-setup: error: attempt to read or write outside > >>>>>>> of > >>>>>>> disk `hostdisk//dev/disk2'. > >>>>>>> > >>>>>> > >>>>>> This means GRUB does not detect $deviceName as device available at > >>>>>> boot time. Usual big hammer is suitable device.map. > >>>>>> > >>>>>>> I cross compiled my grub by : > >>>>>>> > >>>>>>> ./configure --prefix=$PREFIX --target=i586-peter-elf > >>>>>>> > >>>>>>> Any tips? > >>>>>>> > >>>>>>> > >>>>>>> Below is my script to make the fs image: > >>>>>>> > >>>>>>> base=/toolchain > >>>>>>> > >>>>>>> rm -fr hd.img > >>>>>>> > >>>>>>> tempDeviceName=`hdiutil info|grep FDisk|cut -d$'\t' -f1` > >>>>>>> > >>>>>>> hdiutil eject $tempDeviceName > >>>>>>> > >>>>>>> commands=( `which dd` `which kpartx` $base/bin/grub-mkimage > >>>>>>> $base/sbin/grub-bios-setup ) > >>>>>>> > >>>>>>> error="false" > >>>>>>> > >>>>>>> for c in address@hidden; do > >>>>>>> > >>>>>>> if [ ! -x $c ]; then > >>>>>>> > >>>>>>> echo "************************************************************"; > >>>>>>> > >>>>>>> echo "$c not found!"; > >>>>>>> > >>>>>>> echo "************************************************************"; > >>>>>>> > >>>>>>> error="true"; > >>>>>>> > >>>>>>> fi > >>>>>>> > >>>>>>> done > >>>>>>> > >>>>>>> > >>>>>>> if [ "$error" == "true" ]; then > >>>>>>> > >>>>>>> exit; > >>>>>>> > >>>>>>> fi > >>>>>>> > >>>>>>> > >>>>>>> dd if=/dev/zero of=hd.img count=10240 bs=10240 > >>>>>>> > >>>>>>> #kpartx -d hd.img > >>>>>>> > >>>>>>> deviceName=`hdiutil attach -imagekey diskimage-class=CRawDiskImage > >>>>>>> -nomount > >>>>>>> hd.img` > >>>>>>> > >>>>>>> deviceName=${deviceName//[[:space:]]/} > >>>>>>> > >>>>>>> echo "deviceName="$deviceName > >>>>>>> > >>>>>>> > >>>>>>> umount temp > >>>>>>> > >>>>>>> rm -fr temp > >>>>>>> > >>>>>>> mkdir temp > >>>>>>> > >>>>>>> # create partition > >>>>>>> > >>>>>>> diskutil partitionDisk $deviceName MBRFormat "MS-DOS FAT32" "A" 100% > >>>>>>> > >>>>>>> umount /Volumes/a > >>>>>>> > >>>>>>> # end create partition > >>>>>>> > >>>>>>> mount -t msdos $deviceName"s1" temp > >>>>>>> > >>>>>>> mkdir -p temp/boot/grub > >>>>>>> > >>>>>>> cp grub.cfg temp/boot/grub/ > >>>>>>> > >>>>>>> cp kernel/kernel temp/boot/ > >>>>>>> > >>>>>>> > >>>>>>> # setup grub > >>>>>>> > >>>>>>> echo "(hd0) /dev/loop0" > device.map > >>>>>>> > >>>>>>> echo "set prefix=(hd0,msdos1)/boot/grub" > mycfg.cfg > >>>>>>> > >>>>>>> > >>>>>>> $base/bin/grub-mkimage --config=mycfg.cfg -p /boot -O i386-pc -o > >>>>>>> temp/boot/grub/core.img biosdisk part_msdos fat vbe vga echo configfile > >>>>>>> multiboot multiboot2 > >>>>>>> > >>>>>>> cp $base/lib/grub/i386-pc/boot.img temp/boot/grub/ > >>>>>>> > >>>>>>> > >>>>>>> $base/sbin/grub-bios-setup --no-rs-codes -m device.map -c > >>>>>>> ../../`pwd`/temp/boot/grub/core.img -b > >>>>>>> ../../toolchain/lib/grub/i386-pc/boot.img $deviceName > >>>>>>> > >>>>>>> # end setup grub > >>>>>>> > >>>>>>> > >>>>>>> umount temp > >>>>>>> > >>>>>>> #kpartx -d hd.img > >>>>>>> > >>>>>>> hdiutil eject $deviceName > >>>>>>> > >>>>>>> rm -fr temp > >>>>>>> > >>>>>>> rm -fr device.map > >>>>>>> > >>>>>>> rm -fr mycfg.cfg > >>>>>>> > >>>>>>> > >>>>>>> thanks > >>>>>>> from Peter (address@hidden) > >>>>>>> > >>>>>>> _______________________________________________ > >>>>>>> Help-grub mailing list > >>>>>>> address@hidden > >>>>>>> https://lists.gnu.org/mailman/listinfo/help-grub > >>>>>>> > >>>> > >>>> _______________________________________________ > >>>> Help-grub mailing list > >>>> address@hidden > >>>> https://lists.gnu.org/mailman/listinfo/help-grub > >>> > >>> > >> > >> > >> _______________________________________________ > >> Help-grub mailing list > >> address@hidden > >> https://lists.gnu.org/mailman/listinfo/help-grub > > > > > > > _______________________________________________ > Help-grub mailing list > address@hidden > https://lists.gnu.org/mailman/listinfo/help-grub |
[Prev in Thread] | Current Thread | [Next in Thread] |