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



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

zhaoyj@xxxxxxxxxxxxx wrote:
??,??????,??????grub??freebsd,???????,
??????grub?????ufs2
?????fc2,grub????0.94
???????????,?????????
???????????



----- Original Message ----- From: "Tony" <tony.uestc@xxxxxxxxx>
To: <freebsd-hackers@xxxxxxxxxxx>
Cc: <tony.uestc@xxxxxxxxx>
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@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@xxxxxxxxxxx"

_______________________________________________ freebsd-hackers@xxxxxxxxxxx mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@xxxxxxxxxxx"



Relevant Pages