Re: mount einer ext-Linux Partition

From: Franz Urbanski <fou(at)ON-Luebeck.DE>
Date: Fri, 3 Mar 2000 00:52:09 +0100

On Thu, Mar 02, 2000 at 04:39:02PM +0100, Oliver Fromme wrote:
[ext. Linux Partition]
> Da es dann keine "richtige" erweiterte Partition ist, findet
> sie FreeBSD auch nicht, folglich auch nicht die logischen
> (DOS-)Laufwerke darin.
> Du könntest den Partitionstyp auf eine normale "extended
> partition" ändern (etwa mit fdisk). Oder in den Kernel an
> die passende Stelle 'reinhacken, daß beide Typen als erwei-
> terte partitionen erkannt werden (vorausgesetzt, daß dieses
> Linux-spezifische Format die gleiche interne Struktur ver-
> wendet wie DOS).

Das Setzen auf normale ext. Partition könnte ich mal ausprobieren.
Würde mich aber unter Win98 stören, weil dann dort die Laufwerks-
Buchstaben (*würg*) wieder durcheinander geraten.

Die Stuktur sollte sich beim Übergang zur Linux - Ext. Partition
nicht geändert haben. Ich habe schließlich nur mit fdisk
den Partitions-Typ geändert:
/dev/hda4 557 1092 4052160 85 Linux erweitert

Wenn's mit der normalen Ext. Partition geht, kann ich mal
ausprobieren, was passiert, wenn ich in diskslice_machdep.c noch eine
Abfrage auf DOSPTYP_EXTENDED_LINUX einbaue.

... hack hack hack ...

Funktioniert!

Danke für den Tip.

Hier noch die Änderung an /sys/i386/isa/diskslice_machdep.c:

--8<----------------------------------------------------------------------
*** /mnt/BSD/sys/i386/isa/diskslice_machdep.c~
--- /mnt/BSD/sys/i386/isa/diskslice_machdep.c
***************
*** 44,49 ****
--- 44,50 ----
  #include <sys/disklabel.h>
  #define DOSPTYP_EXTENDED 5
  #define DOSPTYP_EXTENDEDX 15
+ #define DOSPTYP_EXTENDED_LINUX 0x85
  #define DOSPTYP_ONTRACK 84
  #include <sys/diskslice.h>
  #include <sys/malloc.h>
***************
*** 327,333 ****
          sp -= NDOSPART;
          for (dospart = 0; dospart < NDOSPART; dospart++, sp++)
                  if (sp->ds_type == DOSPTYP_EXTENDED ||
! sp->ds_type == DOSPTYP_EXTENDEDX)
                          extended(dname, bp->b_dev, strat, lp, ssp,
                                   sp->ds_offset, sp->ds_size, sp->ds_offset,
                                   max_nsectors, max_ntracks, mbr_offset);
--- 328,335 ----
          sp -= NDOSPART;
          for (dospart = 0; dospart < NDOSPART; dospart++, sp++)
                  if (sp->ds_type == DOSPTYP_EXTENDED ||
! sp->ds_type == DOSPTYP_EXTENDEDX ||
! sp->ds_type == DOSPTYP_EXTENDED_LINUX)
                          extended(dname, bp->b_dev, strat, lp, ssp,
                                   sp->ds_offset, sp->ds_size, sp->ds_offset,
                                   max_nsectors, max_ntracks, mbr_offset);
--8<----------------------------------------------------------------------

Ciao

Franz

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 03 Mar 2000 - 01:26:29 CET

search this site