Bug 42358 - Installation of RC1 fails with HBA(s) in slots 1, 2 or 3.
Installation of RC1 fails with HBA(s) in slots 1, 2 or 3.
Status: CLOSED RAWHIDE
Product: Red Hat Linux
Classification: Retired
Component: kernel (Show other bugs)
7.1
ia64 Linux
high Severity high
: ---
: ---
Assigned To: Bill Nottingham
Brock Organ
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-05-25 19:36 EDT by Stephen Elia
Modified: 2014-03-16 22:20 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2001-06-06 14:30:38 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Stephen Elia 2001-05-25 19:36:24 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

Description of problem:
The installation of RC1 (Itanium based) fails with any of the following 
adapters in PCI slots 1, 2 or 3:  Adaptec 39160, 29160, QLogic QLA12160.

How reproducible:
Always

Steps to Reproduce:
1.Build Itanium server system with the following adapters:
PCI-1 Adaptec AHA-39160  F/W 2.57.2s3
PCI-2 Adaptec AHA-29160  F/W 2.57.2s3
PCI-3 Adaptec AHA-29160  F/W 2.57.2s3
PCI-4 Intel Pro/100+ Server Adapter
PCI-5 Intel Pro/100+ Server Adapter
PCI-6 Intel Pro/100+ Server Adapter
PCI-7 AMI MegaRaid 1600 Enterprise  F/W A159
PCI-8 Intel Pro/1000F Server Adapter
PCI-9 Mylex Extreme Raid EXR2000  F/W 6.00-07
PCI-10 Intel Pro/1000F Server Adapter

2.Install everything under the custom installation.
3.No firewall.
4.remainder is defaults.

Actual Results:  When the installer reaches the point where the / 
partition is formatted, the following error is reported:

"The Kernel is unable to read your new partitioning information, probably 
because you modified extended partitions.  While this is not critical, you 
must reboot your machine before proceeding. Insert the Red Hat Boot Disk 
now, and press OK to reboot your system."

I also noticed, if you use fdisk to partition the disk(s), disk druid does 
not see any partitions on the disk(s).

Expected Results:  Installation complete to OB QLA12160 without failure.

Additional info:
Comment 1 Bill Nottingham 2001-05-25 21:19:22 EDT
What happens if you *do* reboot here; are the partitions you created
seen when you boot back into the installer?
Comment 2 Stephen Elia 2001-05-29 15:13:09 EDT
The only partitions that appear after rebooting are the root disk (sdm) and the 
first Adaptec disk (sda).
Comment 3 Bill Nottingham 2001-05-30 15:52:15 EDT
What happens if you try the updates disk at:

  http://people.redhat.com/notting/updates/updates.img

Write this to an LS-120, boot the installer with 'linux updates', insert
the disk when prompted, and *then* try partitioning.

Does this work any better?
Comment 4 Stephen Elia 2001-05-30 20:02:17 EDT
Installation still fails on qa0529 with updates disk.  Error message reported 
is identical.

  "The Kernel is unable to read your new partitioning information, probably 
because you modified extended partitions.  While this is not critical, you 
must reboot your machine before proceeding. Insert the Red Hat Boot Disk 
now, and press OK to reboot your system."
Comment 5 Bill Nottingham 2001-05-30 22:21:59 EDT
and, as you stated before, the partitions you created are *not* there when
you boot back into the installer?
Comment 6 Bill Nottingham 2001-05-31 12:42:03 EDT
I tried this with a 39150 in slot 1, and a 29xx in slot 2. The system
didn't boot (hung in the BIOS after the Adaptec SCSI bus scans.)
Comment 7 Stephen Elia 2001-05-31 13:43:41 EDT
After rebooting, there is only one partition on sda.  All other disks appear 
blank.

If fdisk (in installer) is used to partition the disks, I noticed that the 
devices disappear in /tmp.  If you back up in the installer and select disk 
druid these partitions are not seen but the devices reappear in /tmp.  If fdisk 
is run manually in VT2 these devices do not disappear.

I also noticed that the EFI GPT partition information looked very strange (in 
VT2 I verified that all disks sdb - sdl reported identical information, sda 
still had the single partition I had created on the previous installation 
attempt):
Disk /tmp/sdh:  255 heads, 63 sectors, 1115 cylinders
Units = cylinders of 16065 * 512 bytes


Device       Boot		Start	End		Blocks		Id
	System
/tmp/sdh1		1	267350		2147483647+	ee	EFI GPT
Partition 1 does not end on a cylinder boundary:
	phys=(1023,255,62) should be (1023,254,63)

** I would not mind having 1.05 TB of space on a single disk **
Comment 8 Bill Nottingham 2001-05-31 17:34:43 EDT
We've reproduced something similar here.

It *looks* like the number/location of controllers is a red herring.

Can you confirm that at least one of the disks that you're partitioning
has an odd number of sectors?
Comment 9 Matt Domsch 2001-05-31 18:33:19 EDT
I gave it a shot.  If this isn't quite right, I apologize in advance.
Bill, can you see if this works for you?


diff -burN --exclude=*~ anaconda-7.1/libfdisk/disk_funcs.c anaconda-7.1-
gpt/libfdisk/disk_funcs.c
--- anaconda-7.1/libfdisk/disk_funcs.c	Wed Apr 25 13:09:58 2001
+++ anaconda-7.1-gpt/libfdisk/disk_funcs.c	Thu May 31 15:48:15 2001
@@ -128,6 +128,7 @@
   __off64_t offset;
   ssize_t readcount = 0, thisreadcount=0;
   ssize_t leftreadcount = count;
+  blk_ioctl_parameter p;

   if (!buffer || !count) return 0;
   if (!IsLBAValid(filedes, lba)) return 0;
@@ -135,8 +136,11 @@
   /* If this is the last block of the disk,
      try using ioctl to read.
      Fall back to normal read if that fails */
-  if ( (lba == LastLBA(filedes)) && (count == 512) ){
-    if( ! ioctl(filedes, BLKGETLASTSECT, buffer) )
+  if ( (lba == LastLBA(filedes)) && (count == 512) ) {
+	  p.block = 0;
+	  p.content_length = count;
+	  p.block_contents = buffer;
+	  if( ! ioctl(filedes, BLKGETLASTSECT, &p) )
                return count;
   }

@@ -184,6 +188,7 @@
   __off64_t offset;
   ssize_t writecount = 0, thiswritecount = 0;
   size_t leftwritecount = count;
+  blk_ioctl_parameter p;


   if (!buffer || !count )
@@ -195,7 +200,10 @@
      try using ioctl to read.
      Fall back to normal read if that fails */
   if ( (lba == LastLBA(filedes)) && (count == 512) ){
-    if( ! ioctl(filedes, BLKSETLASTSECT, buffer) )
+	  p.block = 0;
+	  p.content_length = count;
+	  p.block_contents = buffer;
+	  if( ! ioctl(filedes, BLKSETLASTSECT, &p) )
        return count;
   }

diff -burN --exclude=*~ anaconda-7.1/libfdisk/disk_funcs.h anaconda-7.1-
gpt/libfdisk/disk_funcs.h
--- anaconda-7.1/libfdisk/disk_funcs.h	Tue Apr 24 13:50:28 2001
+++ anaconda-7.1-gpt/libfdisk/disk_funcs.h	Thu May 31 15:46:05 2001
@@ -13,4 +13,11 @@

 off_t GetDeviceBlockSize( int filedes );

+typedef struct {
+	unsigned int block;
+	size_t content_length;
+	char *block_contents;
+} blk_ioctl_parameter;
+
+
 #endif /* _DISK_FUNCS_H */


Comment 10 Bill Nottingham 2001-06-05 14:36:07 EDT
OK, after using the fixed partitioning code, another error is received

(from other e-mail)

>       It does appear that we are getting a little closer.  The boot disk
> formatted correctly (sdm) this time.  Then the installer failed with "An
> error occurred trying to format /fs1:  This problem is serious, and the
> install cannot continue.  Press Enter to reboot your system.",  /fs1 is sda.
> I took a look on VT5 and found the following error "/usr/sbin/mke2fs: No
> such device or address while trying to determine filesystem size".  There
> was not messages printed out to VT1 this time.

RH has yet to reproduce this failure in-house.
Comment 11 Matt Domsch 2001-06-06 14:30:33 EDT
If you use switch to VT2, and run fdisk /dev/sda, see sda1 is type 6 (FAT16), 
not type ee (protective MBR for GPT).  Run parted /dev/sda and see that the GPT 
partitions are there, but since the PMBR has type 6 there (not type EE), the 
kernel now thinks the disk is MBR not GPT...  Using fdisk to switch sda1 from 6 
to ee, write it out, and exit, and see the kernel now gets it right.

Not sure why /dev/sda1 is getting the type set to 6 (and not ee).
Comment 12 Bill Nottingham 2001-06-07 14:20:00 EDT
This is fixed in anaconda-7.1-15 or later.

Note You need to log in before you can comment on or make changes to this bug.