bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Mach 1.9 boot failure


From: Richard Kreuter
Subject: Re: Mach 1.9 boot failure
Date: 17 Nov 2002 21:30:55 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Richard Kreuter <kreuter@anduril.rutgers.edu> writes:
> On Thu, Nov 14, 2002 at 12:08:21AM +0800, Bin Ren wrote:
> > Richard Kreuter wrote:
> > >On Wed, Nov 13, 2002 at 08:20:04PM +0800, Bin Ren wrote:
> > >
> > > >I've successfully compiled and installed OSKit Mach and added
> > > >proper line to grub.conf but when I boot, it says:
> > > >"device:hd0s9 No such device or address" but I'm sure "hd0s9"
> > > >is my home partition for Hurd and boot with traditional mach
> > > >has no problems.
> > >
> > >What does your partition table look like?
> >
> > Disk /dev/hda: 255 heads, 63 sectors, 3648 cylinders
> > Units = cylinders of 16065 * 512 bytes
> > 
> >    Device Boot    Start       End    Blocks   Id  System
> > /dev/hda1   *         1       255   2048256    b  Win95 FAT32
> > /dev/hda2           256      3648  27254272+   f  Win95 Ext'd (LBA)
> 
> It doesn't seem that the OSKit diskpart library has any handling of
> partition type f (Extended LBA)...


The following trivial patch adds support for partitions of type f to
the OSKit, and so to oskit-mach.


diff -purN oskit-20020317/diskpart/find_pcbios.c 
oskit-20020317.new/diskpart/find_pcbios.c
--- oskit-20020317/diskpart/find_pcbios.c       1998-04-08 18:42:50.000000000 
-0400
+++ oskit-20020317.new/diskpart/find_pcbios.c   2002-11-14 23:37:22.000000000 
-0500
@@ -100,7 +100,8 @@ diskpart_get_dos(struct diskpart *array,
 
                diskpart_fill_entry(&array[i], entry->offset, entry->n_sectors, 
                        NULL, 0, DISKPART_NONE, entry->systid);
-               if ((entry->systid == DOS_EXTENDED) && (ext < 0)) {
+               if (((entry->systid == DOS_EXTENDED) || 
+                    (entry->systid == DOS_EXTENDED_LBA)) && (ext < 0)) {
                        mystart += entry->offset; 
                        ext = i;
                }
diff -purN oskit-20020317/oskit/diskpart/pcbios.h 
oskit-20020317.new/oskit/diskpart/pcbios.h
--- oskit-20020317/oskit/diskpart/pcbios.h      1998-12-01 07:02:02.000000000 
-0500
+++ oskit-20020317.new/oskit/diskpart/pcbios.h  2002-11-14 23:36:47.000000000 
-0500
@@ -65,6 +65,7 @@ struct bios_partition_info {
 #       define  LINUXSWAP      130
 #       define  LINUXOS        131
 #       define  DOS_EXTENDED    05      /* container for logical partitions */
+#       define  DOS_EXTENDED_LBA 15     /* another partition container */
 
 #       define  HPFS            07      /* OS/2 Native */
 #       define  OS_2_BOOT       10      /* OS/2 Boot Manager */






reply via email to

[Prev in Thread] Current Thread [Next in Thread]