Date: Sun, 30 Jan 2011 23:29:48 +0100 From: Willem Jan Withagen <wjw@digiware.nl> To: fs@freebsd.org Subject: Re: Errors booting of the ZFS alternative mirror disk Message-ID: <4D45E65C.2040200@digiware.nl> In-Reply-To: <4D45BCE2.1020508@digiware.nl> References: <20110130143045.GA50566@icarus.home.lan> <4D457AB1.90109@digiware.nl> <20110130150226.GA51190@icarus.home.lan> <4D45BCE2.1020508@digiware.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
On 30-1-2011 20:32, Willem Jan Withagen wrote: >>>>> But with only the second disk in the system, it does not boot. Not >>>>> even when I put it in the bay of the first disk. >>>>> >>>>> On screen I get: >>>>> Error 1 lba 32 >>>>> Error 1 lba 1 >>>>> Error 1 lba 32 >>>>> Error 1 lba 1 >>>>> No ZFS pools located, can't boot This code stems from boot/boot2.c: static int drvread(void *buf, unsigned lba, unsigned nblk) { static unsigned c = 0x2d5c7c2f; v86.ctl = V86_ADDR | V86_CALLF | V86_FLAGS; v86.addr = XREADORG; /* call to xread in boot1 */ v86.es = VTOPSEG(buf); v86.eax = lba; v86.ebx = VTOPOFF(buf); v86.ecx = lba >> 16; v86.edx = nblk << 8 | dsk.drive v86int(); v86.ctl = V86_FLAGS; if (V86_CY(v86.efl)) { printf("error %u lba %u\n", v86.eax >> 8 & 0xff, lba); return -1; } return 0; } Suggesting that code from boot1 is used to read from the disk. Now the question would be why doesn't this then just work when I place the disk in at the first position. This is not going to be a charmer, diving back into assembly and old PC BIOS conventions.... Or could this occur when the MBR is not "correct"? --WjW
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D45E65C.2040200>