help-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: grub in mac


From: Peter Cheung
Subject: RE: grub in mac
Date: Wed, 11 Nov 2015 11:57:54 +0800

I think the key point is "/toolchain/sbin/grub-bios-setup: info: the size of hd0 is 0.", grub think my /dev/disk2 is size zero. But it is 100MB

/Users/peter/NetBeansProjects/PeterI>df -h

Filesystem      Size   Used  Avail Capacity  iused   ifree %iused  Mounted on

/dev/disk1     233Gi  227Gi  5.7Gi    98% 59480109 1501109   98%   /

devfs          185Ki  185Ki    0Bi   100%      640       0  100%   /dev

map -hosts       0Bi    0Bi    0Bi   100%        0       0  100%   /net

map auto_home    0Bi    0Bi    0Bi   100%        0       0  100%   /home

/dev/disk2s1    98Mi  1.0Mi   97Mi     2%        0       0  100%   /Users/peter/NetBeansProjects/PeterI/temp



thanks


> 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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]