From owner-FreeBSD-users-jp@jp.FreeBSD.org Sat Feb 19 11:12:42 2011
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id p1J2CgB50604;
	Sat, 19 Feb 2011 11:12:42 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from mail.katsurajima.jp (mail.katsurajima.jp [210.238.187.201])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id p1J2Cgg50598
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Sat, 19 Feb 2011 11:12:42 +0900 (JST)
	(envelope-from raven@katsurajima.seya.yokohama.jp)
Received: from mailsv.katsurajima.jp (mailsv.katsurajima.jp [192.168.1.253])
	by mail.katsurajima.jp (Postfix) with ESMTP id 01E2DDB7F8
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Sat, 19 Feb 2011 09:06:45 +0900 (JST)
Received: from cannon.katsurajima.jp (cannon.katsurajima.jp [192.168.1.9])
	by mailsv.katsurajima.jp (Postfix) with SMTP id 4665C1304
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Sat, 19 Feb 2011 11:12:39 +0900 (JST)
From: Katsurajima Naoto <raven@katsurajima.seya.yokohama.jp>
To: FreeBSD-users-jp@jp.FreeBSD.org
Message-Id: <20110219111234.c3dcdf91.raven@katsurajima.seya.yokohama.jp>
In-Reply-To: <20110214041938.000042DA.0730@graduate.chiba-u.jp>
References: <20110214041938.000042DA.0730@graduate.chiba-u.jp>
X-Mailer: Sylpheed 3.0.3 (GTK+ 2.20.1; amd64-portbld-freebsd8.1)
Mime-Version: 1.0
Content-Type: multipart/mixed;
 boundary="Multipart=_Sat__19_Feb_2011_11_12_34_+0900_2Ganw+STVZ_FSNGb"
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Sat, 19 Feb 2011 11:12:34 +0900
X-Sequence: FreeBSD-users-jp 93357
Subject: [FreeBSD-users-jp 93357] Re: FreeBSD
 =?ISO-2022-JP?B?GyRCJE8zSEQlJVEhPCVGJSMlNyVnJXMkSyRPJSQbKEI=?=
 =?ISO-2022-JP?B?GyRCJXMlOSVIITwlayRHJC0kSiQkISkbKEI=?= 
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: raven@katsurajima.seya.yokohama.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+060209

This is a multi-part message in MIME format.

--Multipart=_Sat__19_Feb_2011_11_12_34_+0900_2Ganw+STVZ_FSNGb
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

On Mon, 14 Feb 2011 13:19:38 +0900
<murata@graduate.chiba-u.jp> wrote:

> $B!!$H$3$m$G!"$^$?$^$?J}K!$,$o$+$i$J$/$F:$$C$F$$$k$N$G$9$,!"(B
> $B$b$7$+$7$F!"(BFreeBSD$B$O!"(BAT$B8_495!$N>l9g!"4pK\%Q!<%F%#%7%g%s(B
> $B$K$7$+%$%s%9%H!<%k$G$-$J$$$N$G$7$g$&$+!)(B

$B$G$-$J$/$O$"$j$^$;$s$,(B, $BHs>o$KFq$7$$$G$9(B. 3$B$D$[$IBg$-$J:$Fq$r>h$j1[$((B
$B$J$/$F$O$J$j$^$;$s(B.

$B$^$:%$%s%9%H!<%k<+BN$G$9$,(B, FreeBSD$B$N(Bfdisk$B$G$O3HD%%Q!<%F%#%7%g%s$r@Z$l(B
$B$J$$$N$G(B, Linux$B$N(Bfdisk$B$G(BFreeBSD$BMQ$N3HD%%Q!<%F%#%7%g%s$r@Z$kI,MW$,$"$j$^(B
$B$9(B. $B$=$N8e(B, bsdlabel$B$G(BFreeBSD$BMQ%9%i%$%9$r@Z$j(B, $B$=$7$F%$%s%9%H!<%k$H$$$&(B
$B$3$H$K$J$j$^$9(B. $B$3$l$i$N:n6H$OA4$F%3%^%s%I%i%$%s%$%s%?!<%U%'%$%9$G9T$&(B
$B$N$G(B, $B%G%#%9%/4IM}%3%^%s%IEy$K$D$$$F@:DL$7$F$$$J$$$H$^$:L5M}$G$7$g$&(B.

$B<!$K(BFreeBSD$BI8=`$N(Bboot$B%m!<%@$NLdBj$,$"$j$^$9(B. FreeBSD$B$N(Bboot$B%m!<%@$OI8=`(B
$B$G$O3HD%%Q!<%F%#%7%g%s$r<h$j07$($J$$$?$a(B, $B$=$N$^$^$G$O%$%s%9%H!<%k$G$-(B
$B$F$b(Bboot$B$G$-$^$;$s(B. boot$B%m!<%@$N%=!<%9$K%Q%C%A$r$"$F$F%3%s%Q%$%k$7$J$*(B
$B$;$P(B, $BBP1~$G$-$k$h$&$K$J$j$^$9$,(B, $B$=$N$?$a$K$O4{$K(BFreeBSD$B$,F0$$$F$$$k(B
$B%7%9%F%`$,I,MW$G$9(B. $B$^$?(B, $BE:IU$7$F$"$k%Q%C%A$O$A$g$C$H8E$$$N$G(B, $B8=:_$G(B
$B$O$&$^$/%Q%C%A$,$"$?$i$J$$$+$b$7$l$^$;$s(B.

$B:G8e$K(Bboot$B$G$-$?$H$7$F(B, $B%+!<%M%k$J$I$r$A$c$s$HFI$_9~$`$?$a$K(B, /boot$B2<$N(B
loader.4th$B$H$+$r$$$8$/$kI,MW$,$"$j$^$9(B. $B$3$l$i$O(BFORTH$B8@8l$G5-=R$5$l$F$$(B
$B$k$?$a(B, $B$=$l$K$D$$$F$N4pACE*$JCN<1$,I,MW$K$J$j$^$9(B.

$B$3$s$J6q9g$J$N$G(B, FreeBSD$B%O%s%I%V%C%/$H$+$G$O!V3HD%%Q!<%F%#%7%g%s$K$O(B
$B%$%s%9%H!<%k=PMh$^$;$s!W$H$$$&$3$H$G=*$o$C$F$$$?$H;W$$$^$9(B.

-- 
Katsurajima "Raven" Naoto($B7KEg(B $BD>?M(B)
Family Emblem: Circle and Left 3 Clove-TOMOE($B4]$K:8;0$DCz;RGC(B)
e-mail: raven@katsurajima.jp

--Multipart=_Sat__19_Feb_2011_11_12_34_+0900_2Ganw+STVZ_FSNGb
Content-Type: text/x-diff;
 name="biosdisk.c.current.patch"
Content-Disposition: attachment;
 filename="biosdisk.c.current.patch"
Content-Transfer-Encoding: 7bit

--- sys/boot/i386/libi386/biosdisk.c.orig	2007-11-13 08:53:43.000000000 +0900
+++ sys/boot/i386/libi386/biosdisk.c	2007-12-25 17:59:45.000000000 +0900
@@ -96,6 +96,7 @@
 	    struct disklabel		mbr_disklabel;
 	    int				mbr_nslices;	/* slice count */
 	    struct dos_partition	mbr_slicetab[NEXTDOSPART];
+	    u_int			mbr_extbase;
 	} _mbr;
 	struct {
 	    int				gpt_nparts;		
@@ -107,6 +108,7 @@
 #define	od_disklabel		_data._mbr.mbr_disklabel
 #define	od_nslices		_data._mbr.mbr_nslices
 #define	od_slicetab		_data._mbr.mbr_slicetab
+#define	od_extbase		_data._mbr.mbr_extbase
 #define	od_nparts		_data._gpt.gpt_nparts
 #define	od_partitions		_data._gpt.gpt_partitions
 
@@ -601,6 +603,7 @@
      * Find the slice in the DOS slice table.
      */
     od->od_nslices = 0;
+    od->od_extbase = 0;
     if (bd_read(od, 0, 1, buf)) {
 	DEBUG("error reading MBR");
 	return (EIO);
@@ -748,6 +751,8 @@
 		DEBUG("no magic in extended table");
 		goto done;
 	}
+	if (od->od_extbase == 0)
+		od->od_extbase = dp->dp_start;
 	base = dp->dp_start;
 	dp = (struct dos_partition *)(&buf[DOSPARTOFF]);
 	for (i = 0; i < NDOSPART; i++, dp++) {
@@ -755,7 +760,10 @@
 			continue;
 		if (od->od_nslices == NEXTDOSPART)
 			goto done;
-		dp->dp_start += base;
+		if (dp->dp_typ == DOSPTYP_EXT)
+			dp->dp_start += od->od_extbase;
+		else
+			dp->dp_start += base;
 		bcopy(dp, &od->od_slicetab[od->od_nslices], sizeof(*dp));
 		od->od_nslices++;
 	}

--Multipart=_Sat__19_Feb_2011_11_12_34_+0900_2Ganw+STVZ_FSNGb--
