Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Jun 2000 20:29:57 +0200
From:      "Leonard den Ottolander" <leonardjo@hetnet.nl>
To:        freebsd-fs@freebsd.org, freebsd-hackers@freebsd.org
Subject:   Patch concerning linux extended fs
Message-ID:  <0f9885227181460NET090S@hetnet.nl>
In-Reply-To: <Pine.BSF.4.21.0006181430510.9394-100000@gateway.posi.net>
References:  <018fb0509141260NET014S@hetnet.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
		Hi Kelly,

> I find it hard to believe that a 3 line patch would
> be enought to enumerate the partitions inside extended partitions, must less
> with arbitrary depth. But I've been amazed before :)

 It's probably not really what you expect (or hope? for), and not that much of 
a deal (less than a mouse driver ;) ). I was just wondering where to post 
these kind of things. The only thing the patch does is make the linux extended 
partition type known and use it when available.

> >  I would like to submit a (three line) patch to enable the use of linux 
> > extended filesystem.

 I mean using as in mounting, not running from.

 The linux extended partition is just a dos extended partition with a 
different identifier (0x85 instead of 0x05). You can use it as an extra 
extended partition, without dos being upset about seeing another extended 
partition. I actually use it on a multi os machine which bios doesn't 
understand the 20G hd. (Dos, dos extended containing ia linux /boot, ufs 
44bsd, linux extended.)

 Here comes the patch (for 4.0R):

/sys/kern/subr_diskmbr.c

 Insert after line 51:

#define DOSPTYP_LINUXEXTENDED	133

 Insert at line 347 (original offset), before the closing bracket:

 || sp->ds_type == DOSPTYP_LINUXEXTENDED

 Insert at line 437, before closing bracket:

 || dp->dp_type == DOSPTYP_LINUXEXTENDED

 That's all there is to it. I'm not sure the existing code handles dos 
extended LBA partitions, or needs modification for this, so I didn't include 
it. You could try to add a DOSPTYP_EXTENDED_LBA (0x0F). Haven't tried. Might 
go seriously wrong.

 To make things comeplete you could also modify fdisk.

/usr/src/sbin/i386/fdisk/fdisk.c

 Insert after line 166:

	,{0x85, "Extended Linux"}

 Using two extended partitions you might want to increase MAXPARTITIONS in 
/sys/i386/boot/dosboot/disklabe.h, /sys/sys/diskslice.h and 
/sys/sys/disklabel.h.

 Haven't really tested this thoroughly, but it seems to run fine.

				Ciao,

				Leonard.



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0f9885227181460NET090S>