From owner-freebsd-hackers@FreeBSD.ORG Wed Dec 21 04:43:06 2005 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D3F6716A41F for ; Wed, 21 Dec 2005 04:43:06 +0000 (GMT) (envelope-from tony.uestc@gmail.com) Received: from zproxy.gmail.com (zproxy.gmail.com [64.233.162.195]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3001443D5F for ; Wed, 21 Dec 2005 04:43:06 +0000 (GMT) (envelope-from tony.uestc@gmail.com) Received: by zproxy.gmail.com with SMTP id 8so59982nzo for ; Tue, 20 Dec 2005 20:43:05 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:user-agent:x-accept-language:mime-version:to:cc:subject:content-type:content-transfer-encoding; b=MsE1F6+icU1ggFjFl12JOZCSrjNcprp7ED7b047UnNyoQft+871Uo99P3dKa3iXHFeWmYdNwuG/9ASSdeYbfJl8Uj92pZxpRsXNownBO1pSC8SF37Cbd5y+uLJpvl6RFUptB0TWcjh+ciqzzfo0k+tmWxkUChIkMdxXBXXxuejc= Received: by 10.36.146.1 with SMTP id t1mr319053nzd; Tue, 20 Dec 2005 20:43:05 -0800 (PST) Received: from ?211.83.98.99? ( [218.88.99.210]) by mx.gmail.com with ESMTP id 16sm539322nzo.2005.12.20.20.41.51; Tue, 20 Dec 2005 20:43:05 -0800 (PST) Message-ID: <43A8DD54.4000701@gmail.com> Date: Wed, 21 Dec 2005 12:43:00 +0800 From: Tony User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923) X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd-hackers@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: tony.uestc@gmail.com Subject: Problem booting FreeBSD from cboot FreeBSD from cdrom using grubdrom using grub X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Dec 2005 04:43:06 -0000 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