I fixed the problem, the root cause is : the following if-loop is never be true
in apple
#if GRUB_DISK_DEVS_ARE_CHAR
if (S_ISCHR (st.st_mode))
#else
if (S_ISBLK (st.st_mode))
#endif
ret = grub_util_get_fd_size_os (fd, name, log_secsize);
So i force the line "ret = grub_util_get_fd_size_os (fd, name, log_secsize);”
to be execute, then everything work. I am using this command "hdiutil attach
-imagekey diskimage-class=CRawDiskImage -nomount hd.img” to mount my loopback.
thanks
from Peter
> Andrei Borzenkov <[email protected]> 於 2015年11月13日 上午2:13 寫道:
>
> 12.11.2015 13:16, [email protected] пишет:
>> I am in mac, grub called grub_util_get_fd_size() in unix/hostdisk.c, should
>> i copy it to apple/hostdisk.c and fix the bug?
>>
>
> Apparently GRUB expects char devices on Apple. Try
>
> grub-install ... /dev/rdisk2
>
> instead. If it does not work, please send verbose log again.
>
>
>
>
> _______________________________________________
> 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