[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Open BSD kernels & Re: Bug and patch for BSD partition detection
From: |
marco grigull |
Subject: |
Open BSD kernels & Re: Bug and patch for BSD partition detection |
Date: |
Wed, 6 Dec 2000 13:48:51 +1100 |
User-agent: |
Mutt/1.1.4i |
On Tue, Dec 05, 2000 at 05:53:02PM +0100, Jochen Hoenicke wrote:
> >
> > -#define IS_PC_SLICE_TYPE_BSD(type) IS_PC_SLICE_TYPE_BSD_WITH_FS(type,0)
> > +#define IS_PC_SLICE_TYPE_BSD(type)
> > IS_PC_SLICE_TYPE_BSD_WITH_FS(((type) & 0xFF),0)
>
> I don't know much about BSD slices and don't have any to test them,
> but it looks that your patch breaks some other things, e.g. the
> geometry command (are BSD partition still printed?).
> IS_PC_SLICE_TYPE_BSD() is sometimes used, to test if this is a kind of
> extended partition that contains other partitions.
>
> I think you should only mask out the type in the next_partition method
> as in the attached patch. Does this fix the problem?
>
> Jochen
>
> diff -u -r1.38 stage2/disk_io.c
> --- stage2/disk_io.c 2000/11/08 17:33:41 1.38
> +++ stage2/disk_io.c 2000/12/05 16:33:19
> @@ -574,7 +574,7 @@
>
> /* If previous partition is a BSD partition or a PC slice which
> contains BSD partitions... */
> - if ((*partition != 0xFFFFFF && IS_PC_SLICE_TYPE_BSD (*type))
> + if ((*partition != 0xFFFFFF && IS_PC_SLICE_TYPE_BSD (*type & 0xff))
> || ! (drive & 0x80))
> {
> if (*type == PC_SLICE_TYPE_NONE)
>
I have tried both versions on some openbsd installations (2.7,2.8), the disk_io
patch has better behaviour (as far as tab completion goes).
On a different note, using the kernel command with or without the --type option
does not boot my copy of the stock openbsd 2.7 kernel. The kernel drops into
the
debugger, and suggests that /boot is too old (it must think that that is how it
was loaded). Do current netbsd kernels lend themselves to kernel booting?
Cheers
Marco
--
________________________________________________________________
Marco Grigull <address@hidden> Cybersource Pty. Ltd.