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

RE: Problem booting debian on HP rx4610 itanium



Hi Richard,

Thanks a lot for clarifying this. A low-level format of the disk before
installing debian fixed the problem for me. All is ok now.
I am now able to install kernels using elilo again.

Any ideas (when/if) the GPT scheme will be supported under Debian ?

Thanks again,

Roel

-----Original Message-----
From: Richard Hirst [mailto:rhirst@linuxcare.com]
Sent: maandag 26 november 2001 12:12
To: TEUWEN,ROEL (Non-HP-Belgium,ex1)
Cc: 'debian-ia64@lists.debian.org'; mkp@linuxcare.com
Subject: Re: Problem booting debian on HP rx4610 itanium


Hi,
  I think your problems probably result from RedHat adopting the
new EFI GPT partitioning scheme, while Debian currently uses the
old msdos paritioning scheme.  I understand SuSE uses the msdos
scheme as well.

Note I havn't fully investigated all aspects of this problem, so
bear that in mind when reading the following.  If anyone as more
info, or can confirm what I say below, please speak up.

The msdos scheme maintains a partition table on the first sector
of the disk.

EFI GPT maintains a partition table in the second sector of the
disk, with a backup copy in the last sector of the disk.

Both RedHat and Debian kernels understand EFI GPT, and the EFI Spec
says that if both msdos and GPT tables exist then the GPT should
be used.  However, userspace tools like fdisk, cfdisk, sfdisk don't
understand GPT.  Under RedHat Disk Druid and 'parted' understand the
new scheme, don't know if 'parted' under Debian does yet.

If you install RedHat on a blank disk (no partition tables at all),
it gives a dialog "disk X is corrupt, do you want to initialise it
or skip this drive".  If you choose to "initialise" it, RedHat
creates an msdos table on the first sector with one partition defined.
That partition is of type EFI GPT (0xEE), and covers the whole drive.
It also creates the GPT on the second and last sectors of the drive.
If you then go on to "partition manually with disk druid", it will
create GPT entries in the GPT table for the partitions.

Don't know what happens if you choose to "partition manually with
fdisk" at this stage - it will presumably show you that the whole
disk is taken up with one EFI GPT partition, and you wont be able
to create any more.

At this point both Debian and RedHat kernels will see the new GPT
partitions (cat /proc/partitions), and fdisk will see just the one
EFI GPT (type 0xEE) partition.

Now if you try to install Debian on this disk, you will presumably
tell cfdisk (used for partitioning during Debian install) to delete
the EFI GPT partition and create what you need (types 0xEF, 0x82, 0x83,
etc).  You now have a problem.  You have one set of partitions defined
in the msdos table, and a different set defined in the GPT table.
Your kernel is using the GPT table, while you think it is using the
msdos table.

The way out of this mess is to destroy the GPT table on the disk
before trying to install debian on it.  It should be sufficient to
zero the first few KB and the last few KB of the drive, but there is
an additional problem here...  If your disk happens to have an odd
number of sectors, then the Debian kernel wont let you write the last
sector.  The RedHat kernel has some nasty extra ioctl to get round that.

I don't know yet what happens if you install RedHat on to a disk that has
an msdos table and no GPT table on it.

There are two EFI partition types: EFI GPT, type 0xEE, which is created
in the msdos table by RedHat to cover the whole disk, when a GPT table
is added; and type 0xEF, which is effectively a vfat file system that the
EFI firmware is able to read.

Richard


On Thu, Nov 22, 2001 at 04:29:50PM +0100, TEUWEN,ROEL (Non-HP-Belgium,ex1)
wrote:
> Hello,
> 
> I am having difficulties booting Debian from EFI. The installer seems to
> have created an EFI entry, but it seems to be empty (ls in fs0: shows 0
> files). I have tried re-running elilo with a valid elilo.conf, but the
entry
> remains empty.
> I am also unable to mount partitions created by EFI.
> 
> I booted using the CD, changing the root= flag
> 
> When attempting a redhat install, all goes well.
> 
> If I try to mount the efi partition with the redhat installer shell, this
> works. So I tried copying a new kernel I compiled on the debian system to
> the efi from within this redhat shell, but found out that it can not mount
> the debain ext2fs ! I created a fat partition in debian and tried mounting
> that in the redhat installer, no luck again.
> Is there a problem with mkfs.[ext2,vfat] in the current debian ?
> (dist-upgraded sid unstable)
> 
> Any insights in the issue are appreciated.
> 
> Best regards,
> 
> Roel Teuwen
> 
> 
> -- 
> To UNSUBSCRIBE, email to debian-ia64-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
listmaster@lists.debian.org
> 


-- 
To UNSUBSCRIBE, email to debian-ia64-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact
listmaster@lists.debian.org



Reply to: