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: [email protected] > From: [email protected] > Date: Wed, 11 Nov 2015 06:43:14 +0300 > CC: [email protected] > > 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: [email protected] > >> From: [email protected] > >> Date: Wed, 11 Nov 2015 06:18:38 +0300 > >> CC: [email protected] > >> > >> 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: [email protected] > >>>> To: [email protected] > >>>> CC: [email protected] > >>>> > >>>> On Tue, Nov 10, 2015 at 9:59 AM, Peter Cheung <[email protected]> > >>>> 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: [email protected] > >>>>>> To: [email protected] > >>>>>> CC: [email protected] > >>>>> > >>>>>> > >>>>>> On Tue, Nov 10, 2015 at 7:33 AM, Peter Cheung <[email protected]> > >>>>>> 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 ${commands[@]}; 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 ([email protected]) > >>>>>>> > >>>>>>> _______________________________________________ > >>>>>>> Help-grub mailing list > >>>>>>> [email protected] > >>>>>>> https://lists.gnu.org/mailman/listinfo/help-grub > >>>>>>> > >>>> > >>>> _______________________________________________ > >>>> Help-grub mailing list > >>>> [email protected] > >>>> https://lists.gnu.org/mailman/listinfo/help-grub > >>> > >>> > >> > >> > >> _______________________________________________ > >> Help-grub mailing list > >> [email protected] > >> https://lists.gnu.org/mailman/listinfo/help-grub > > > > > > > _______________________________________________ > Help-grub mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/help-grub
_______________________________________________ Help-grub mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-grub
