disklabel differences FreeBSD, DragonFly
Andreas Klemm
andreas at freebsd.org
Thu Jul 27 06:40:08 UTC 2006
Hi,
DragonFly uses another disklabel as FreeBSD I discovered.
Made a test installation of their 1.6 yesterday.
Later I wanted to mount the dfly filesystems on FreeBSD 6.1,
of course still my main Unix ;-) But it wasn't possible.
The disklabel couldn't be read and as a result devfs didn't
create the devices under /dev.
So I compared sys/disklabel.h on the 2 BSDs and
discovered a difference at the very beginning of the struct.
I'm not sure for what exact purpose Matt uses his new
pack identifier. Does somebody have a clue ???
Is this perhaps something useful that FreeBSD could also use/need ?
Or at least adopt, to be compatible if it doesn't hurt too much ???
Would be cool to be able to mount fs's across BSDs.
Our FreeBSD 6.1 one:
struct disklabel {
u_int32_t d_magic; /* the magic number */
u_int16_t d_type; /* drive type */
u_int16_t d_subtype; /* controller/d_type specific */
char d_typename[16]; /* type name, e.g. "eagle" */
char d_packname[16]; /* pack identifier */
/* disk geometry: */
DragonFly:
struct disklabel {
u_int32_t d_magic; /* the magic number */
u_int16_t d_type; /* drive type */
u_int16_t d_subtype; /* controller/d_type specific */
char d_typename[16]; /* type name, e.g. "eagle" */
/*
* d_packname contains the pack identifier and is returned when
* the disklabel is read off the disk or in-core copy.
* d_boot0 and d_boot1 are the (optional) names of the
* primary (block 0) and secondary (block 1-15) bootstraps
* as found in /boot. These are returned when using
* getdiskbyname(3) to retrieve the values from /etc/disktab.
*/
union {
char un_d_packname[16]; /* pack identifier */
struct {
char *un_d_boot0; /* primary bootstrap name */
char *un_d_boot1; /* secondary bootstrap name */
} un_b;
} d_un;
#define d_packname d_un.un_d_packname
#define d_boot0 d_un.un_b.un_d_boot0
#define d_boot1 d_un.un_b.un_d_boot1
/* disk geometry: */
Andreas ///
--
Andreas Klemm - Powered by FreeBSD 6
Need a magic printfilter today ? -> http://www.apsfilter.org/
More information about the freebsd-hackers
mailing list