Subject: install/9625: Netbsd install causes linux fdisk to print warnings about the partition table
To: None <>
From: None <>
List: netbsd-bugs
Date: 03/16/2000 12:12:08
>Number:         9625
>Category:       install
>Synopsis:       Netbsd install causes linux fdisk to print warnings about the partition table
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    install-manager (NetBSD system installation bug manager)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Mar 16 12:12:00 2000
>Originator:     Per Christian Henden
>Release:        1.4.1
NetBSD Traktor 1.4.1 NetBSD 1.4.1 (GENERIC) 
#1: Tue Aug 10 00:03:09 MEST 1999     
fvdl@struis:/usr/src/sys/arch/i386/compile/GENERIC i386

Having a correct partition table I install netbsd onto part of my disk.
I create a new primary in sysinst, primary nr. 3 on my system as type netbsd. 
The install completes fine. Everything works afterwards, but when running fdisk 
for linux on the harddisk, error messages appears. All partitions has different 
physical/logical endings. This happens both if I accepts the autodetected number 
of cylinders/heads/sectors and when typing in the correct values. 
It has happened after all 3 of 3 installs I've done.
Make partitions using Linux fdisk or windows fdisk. Install netbsd on 
the same harddrive and use the fdisk tools again. Now they both print 
errors. Windows fdisk gives an error about invalid partition table and 
refuses to start properly. Fdisk for linux gives a more verbose error 
disk /dev/hda: 255 heads, 63 sectors, 784 cylinders
Units = cylinders of 16065 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1        77    618471    c  Win95 FAT32 (LBA)
Partition 1 has different physical/logical endings:
     phys=(77, 0, 1) logical=(76, 254, 63)
Partition 1 does not end on cylinder boundary:
     phys=(77, 0, 1) should be (77, 254, 63)
/dev/hda2            78       700   5004247+   f  Win95 Ext'd (LBA)
Partition 2 has different physical/logical endings:
     phys=(700, 0, 1) logical=(699, 254, 63)
Partition 2 does not end on cylinder boundary:
     phys=(700, 0, 1) should be (700, 254, 63)
/dev/hda3   *       701       784    674730   a9  Unknown
Partition 3 has different physical/logical endings:
     phys=(784, 0, 1) logical=(783, 254, 63)
Partition 3 does not end on cylinder boundary:
     phys=(784, 0, 1) should be (784, 254, 63)
/dev/hda5   *        78       179    819283+  83  Linux
/dev/hda6           180       186     56196   82  Linux swap
/dev/hda7           187       680   3968023+   c  Win95 FAT32 (LBA)
/dev/hda8           681       700    160618+   6  FAT16

The point here is that after netbsd install partition physical and logical 
endings doesn't match anymore.

I fixed my partition table doing this:
I did a 'p' in linux fdisk to print partition information and sent this to my printer.
 Then I deleted all partitions (except the netbsd one) and recreated the partition table (same type and cylinder size on all partitions). You should have
 all partitions unmounted doing this (boot with linux bootdisks). Remember that the data on a partition stays until you format it, so deleting partitions
 and recreating them (with same type and spanning the same cylinders!) doesn't mean loss of data.