Problem booting FreeBSD from cboot FreeBSD from cdrom using grubdrom using grub

Tony tony.uestc at gmail.com
Wed Dec 21 06:14:19 PST 2005


I'm using
FreeBSD 5.4
grub 0.95
Is this what you want?

zhaoyj at qddico.com.cn wrote:
> ??,??????,??????grub??freebsd,???????,
> ??????grub?????ufs2
> ?????fc2,grub????0.94
> ???????????,?????????
> ???????????
> 
> 
> 
> ----- Original Message ----- 
> From: "Tony" <tony.uestc at gmail.com>
> To: <freebsd-hackers at freebsd.org>
> Cc: <tony.uestc at gmail.com>
> Sent: Wednesday, December 21, 2005 12:43 PM
> Subject: Problem booting FreeBSD from cboot FreeBSD from cdrom using grubdrom using grub
> 
> 
> 
>>Hi,
>>  I'm trying to make an iso image that will boot FreeBSD using GRUB boot 
>>loader.
>>  Grub will boot /boot/loader and the loader will boot /boot/kernel. It 
>>goes well on my disk, but when I try to make a livecd, it fails. I spend 
>>some time figuring out that /boot/loader does not probe cd it self, it 
>>depends on boot2 to tell him which cd to boot from. So I did some hack 
>>on /boot/loader. Bellow is the diff:
>>*** sys/boot/i386/loader/main.c.bak     Sun Dec 11 19:32:29 2005
>>--- sys/boot/i386/loader/main.c Sun Dec 11 22:04:29 2005
>>***************
>>*** 228,235 ****
>>      if ((new_currdev.d_type == biosdisk.dv_type) &&
>>        ((new_currdev.d_kind.biosdisk.unit = bd_bios2unit(biosdev)) == 
>>-1)) {
>>        printf("Can't work out which disk we are booting from.\n"
>>!              "Guessed BIOS device 0x%x not found by probes, defaulting 
>>to disk0:\n", biosdev);
>>!       new_currdev.d_kind.biosdisk.unit = 0;
>>      }
>>      env_setenv("currdev", EV_VOLATILE, i386_fmtdev(&new_currdev),
>>               i386_setcurrdev, env_nounset);
>>--- 228,238 ----
>>      if ((new_currdev.d_type == biosdisk.dv_type) &&
>>        ((new_currdev.d_kind.biosdisk.unit = bd_bios2unit(biosdev)) == 
>>-1)) {
>>        printf("Can't work out which disk we are booting from.\n"
>>!              "Guessed BIOS device 0x%x not found by probes, defaulting 
>>to cd0(%d):\n", biosdev, biosdev);
>>! bc_add(biosdev);
>>!           new_currdev.d_type = bioscd.dv_type;
>>!           new_currdev.d_dev = &bioscd;
>>!           new_currdev.d_kind.bioscd.unit = bc_bios2unit(biosdev);
>>      }
>>      env_setenv("currdev", EV_VOLATILE, i386_fmtdev(&new_currdev),
>>               i386_setcurrdev, env_nounset);
>>
>>Then the kernel starts, but when the kernel try to mount the root fs, it 
>>stops. I have the follow line in my /etc/fstab
>>/dev/acd0c              /               cd9660  ro          0       0
>>
>>I am stranded. Can anyone help?  I'm using FreeBSD 5.4
>>
>>thanks
>>Tony
>>
>>
>>
>>_______________________________________________
>>freebsd-hackers at freebsd.org mailing list
>>http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>>To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"



More information about the freebsd-hackers mailing list