Re: Problem booting FreeBSD from cboot FreeBSD from cdrom using grubdrom using grub
- From: Tony <tony.uestc@xxxxxxxxx>
- Date: Wed, 21 Dec 2005 22:15:17 +0800
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"
- References:
- Prev by Date: Re: My wish list for 6.1
- Next by Date: ppp tun0: Warning: deflink: /dev/ucom0: Bad file descriptor
- Previous by thread: Problem booting FreeBSD from cboot FreeBSD from cdrom using grubdrom using grub
- Next by thread: Re: Problem booting FreeBSD from cboot FreeBSD from cdrom using grubdrom using grub
- Index(es):
Relevant Pages
|
|