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