|
From: | Andrei Borzenkov |
Subject: | Re: grub in mac |
Date: | Wed, 11 Nov 2015 06:43:14 +0300 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
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 PeterDo 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 PeterDate: Tue, 10 Nov 2015 09:27:19 +0300 Subject: Re: grub in mac From: address@hidden To: address@hidden CC: address@hiddenOn 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 $deviceNameAnd 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
[Prev in Thread] | Current Thread | [Next in Thread] |