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

Re: Re: Bug#469030: debian ppc64 not booting after install



Hello,

On Thu, 6 Mar 2008, FJP wrote:
> So the installation went OK, but the reboot failed.
> 
> This looks like a kernel issue to me, although it could also be something
> related to the bootloader or the initrd. Unfortunately there is very little
> powerpc knowledge inside the debian-installer team at the moment.
> 
> One thing you could try is to boot the installer again in rescue mode and
> rebuild the initrd (using update-initramfs -u) from a chroot of the
> installed system. You should also check that the kernel that was installed
> is the correct one for your system.

I experienced the same problem with a PPC G5 using LVM for /, /usr and other
partitions.

The bug comes, at my opinion, from the yaboot installer that writes down a
broken yaboot.conf file. I do not remember precisely what was written, but I
believe that the reference to the root partition was broken. Something like
using a logical name (/dev/mapper/... Or /dev/xxx) rather than just the
physical number of the boot partition on the disk.

Another cause could be with ybin (PPC64 only, because it works all right in
PPC32 distro) that do not format the bootstrap partition in the good way. It
should be ext2 or HFS but you get the yaboot "Unknown or corrupt filesystem"
fatal error at the very beginning. So I used mkofboot to circumvent ybin.


Here is the machine description that works with the procedure described
below.

A.1 partitions, OpenFirmware Apple, notice the good types.
/dev/sda 
# type name length base ( size ) system
/dev/sda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/sda2 Apple_Bootstrap Apple_Bootstrap 1954 @ 64 (977.0k) NewWorld
bootblock 
/dev/sda3 Apple_UNIX_SVR2 boot_sda 250001 @ 2018 (122.1M) Linux native
/dev/sda4 Linux_RAID raid_sda 159834509 @ 252019 ( 76.2G) Unknown

Comments:
* /dev/sda2 is bootstrap
* /dev/sda3 is /boot, where linux images are stored. Standard ext2 or ext3.
* /dev/sda4 is the physical support of the LVM partitions.

A.2 the /etc/yaboot.conf file
## yaboot.conf generated by debian-installer
## 
## run: "man yaboot.conf" for details. Do not make changes until you have!!
## see also: /usr/share/doc/yaboot/examples for example configurations.
## 
## For a dual-boot menu, add one or more of:
## bsd=/dev/hdaX, macos=/dev/hdaY, macosx=/dev/hdaZ

boot=/dev/sda2 
ofboot=/ht@0,f2000000/pci@7/k2-sata-root@c/k2-sata@0/disk@0:2
partition=3 
root=/dev/mapper/deb3vol0-root
timeout=50 
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
enablecdboot 

image=/vmlinux 
partition=3 
label=Linux 
read-only 
initrd=/initrd.img 

Comments
* ofboot=/ht@0,f2000000/pci@7/k2-sata-root@c/k2-sata@0/disk@0:2. Mandatory.
Use devalias undef openfirmware prompt to discover what your machine knows
at boot time.
* partition=3. Mandatory. The number of the boot partition.
* root=/dev/mapper/deb3vol0-root. The logical name of /.
* install and magicboot refers to file used by mkofboot

B// hfsutils package.
You WILL need it, because mkofboot uses it.
Either you get it through the net via apt-get/wget using your ramdisk debian
rescue system. Either you have it on your installed disk (the regular
situation).
 The files :
/usr/bin/hattrib 
/usr/bin/hcd 
/usr/bin/hcopy 
/usr/bin/hdel 
/usr/bin/hdir 
/usr/bin/hformat 
/usr/bin/hls 
/usr/bin/hmkdir 
/usr/bin/hmount 
/usr/bin/hpwd 
/usr/bin/hrename 
/usr/bin/hrmdir 
/usr/bin/humount 
/usr/bin/hvol 


C// HOWTO do it ?

Here is the procedure that got me out of the hole, using the files already
on the machine.
C.1 CD reboot, with rescue64
C.2 follow the rescue first step (language, keyboard, network, ....)
C.3 choose the rescue mode, then get a terminalin this mode. Th e following
sequence of unix commands will give you an effective boot partition. The "!"
introduces a comment.

# mkdir mntusr ! mount point for the partition usr on disk
# mount /dev/mapper/deb3vol0-usr /mntusr ! for hfsutils and yaboot
# mount /dev/mapper/deb3vol0-root /mnt ! the partition / on disk
# cd /mntusr/bin 
# cp hattrib hcd hcopy hdel hdir hformat hls hmkdir hmount hrename hrmdir
humount hvol /usr/bin ! copy of hfsutils binaries into the RAM
# cp /mnt/bin/mktemp /bin ! mkofboot will need it
# cd /mnt/etc 
# nano yaboot.conf ! Clean your file. See example above.
# mkdir /usr/lib/yaboot ! Yaboot files
# cp /mntusr/lib/yaboot/yaboot /mntusr/lib/yaboot/ofboot /usr/lib/yaboot !
again 
# /mntusr/sbin/mkofboot -o
/ht@0,f2000000/pci@7/k2-sata-root@c/k2-sata@0/disk@0:2 -b /dev/sda2 -C
yaboot.conf ! ......disk@0:2 means sda, partition #2, which is boot. To be
adapted according to your machine

You should have NO error messages. Except for the nvram setenv writing. No
harm.
Quit with CTRL-D, then quit the rescue installer and reboot.

You're done.

Have fun using Debian.

Christophe Lecerf



Reply to: