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

Unsuccessfull try to report a bug&fix against yaboot via mail



Hi,

a try to report a bug via mail against the package yaboot,
which is orphaned, shows no success.

Any suggestions? Thank you for any hints.

The answer of mailer-daemon and the wanted mail is following.

Bye
Peter Voigt
-------------------------------------------------------------
	Von: 	  MAILER-DAEMON@mail.gmx.net
	Betreff: 	failure notice
	Datum: 	6. Juni 2006 10:17:30 GMT+02:00
	An: 	  peter.voigt1@gmx.net

Hi. This is the qmail-send program at mail.gmx.net.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

<submit@bugs.debian.org>:
140.211.166.43_failed_after_I_sent_the_message./ Remote_host_said:_550_Administrative_prohibition/

--- Below this line is a copy of the message.

Return-Path: <peter.voigt1@gmx.net>
Received: (qmail invoked by alias); 06 Jun 2006 08:16:57 -0000
Received: from p5487932C.dip0.t-ipconnect.de (EHLO [192.168.23.214]) [84.135.147.44]
  by mail.gmx.net (mp042) with SMTP; 06 Jun 2006 10:16:57 +0200
X-Authenticated: #19512455
Mime-Version: 1.0 (Apple Message framework v750)
Content-Type: text/plain; charset=UTF-8; delsp=yes; format=flowed
Message-Id: <6A038B55-973D-49E9-8AA5-CBDECB0B98BE@gmx.net>
Content-Transfer-Encoding: quoted-printable
From: Peter Voigt <peter.voigt1@gmx.net>
Subject: OpenBSD can't boot via yaboot on powerpc (no dualboot possible)
Date: Tue, 6 Jun 2006 10:16:55 +0200
To: submit@bugs.debian.org
X-Mailer: Apple Mail (2.750)
X-Y-GMX-Trusted: 0
X-GMX-Antivirus: 0 (no virus found)

Package: yaboot
Version: 1.3.13-5
Severity: normal

OpenBSD can't boot via yaboot on powerpc.

This bug is common to all versions of debian (stabe,
testing, unstable).



boot-procedure in general
-------------------------

After power on the bios of a new-world powerpc looks
for a nvram-variable, in order to examine, which
programm is to boot.

The powerpc-bios is called open firmware. New world
is called the architecture of the newer powerpc's.

If debian was installed, the open firmware finds the
complete path to the debian-bootlooder and boot it.

The debian-bootloader is called "ofboot.b". Notice
the last two chars ".b".

This programm is written in forth, because open
firmware is able to interpret it.

The debian-bootloader ofboot.b has to be found in
a special partition, which is called "new-world
boot-partition".

ofboot.b shows a small menu. To choose the os, which
he wants to boot, the user has to strike a single key.

The key "b" forces ofboot to load & start the openbsd
bootloader, which is called "ofwboot". Notice the
char "w".

ofwboot is the original openbsd-bootloader, a machine
code programm.



the bug
-------

ofboot.b tranfers the complete path of the openbsd-kernel
to ofwboot. This path is defined in /etc/yaboot.conf
with the parameter "bsd=....". yaboot.conf is the alias
of lilo.conf on powerpc.

For example:

If your openbsd-installation resides on partition 7,
ofboot.b transfers "hd0:7,/bsd" or something more
cryptical to ofwboot. ofboot.b uses a notation,
which open firmware understands. Sometimes this
notation looks very cryptical.

Transferring this parameter to ofwboot is a bug,
because ofwboot doesn't want to know a complete path.

ofwboot has a built-in automatic, to look for the
openbsd-partition.

ofwboot searches for the last openbsd-partition on
the disk and tries to boot it. It does not matter,
how much openbsd-installations exist. It does not
matter, on which partition openbsd was installed.
ofwboot allways looks for the openbsd-partition,
which is the last on the disk.

ofwboot searches only in that partition. ofwboot
needs only a path relativ to that partition.

(And now you understand, why openbsd installs per
default to the last primary partition on i386).

In the example, ofwboot finds the openbsd-partition
7 and tries to boot the kernel with the name
"hd0:7,/bsd", which is not used, because the kernel
is named "bsd" on "/". In this example the correct
path is "/bsd", which is useable by ofwboot.



workaround for the non-root-user
------------------------------

While power on hold the four keys "win/apple", "alt",
"o" and "f" at the same time. Release the keys after
appearing of the open firmware message.

On the open firmware prompt type in
"boot hd0:5,/ofwboot /bsd", if your partition "5" on
disk 0 is your new-world boot-partition and the
openbsd-partitions has a kernel named "bsd" under "/".

You don't need to specify the path to the openbsd
partition (in the example 7), because ofwboot finds
it without further help.



quick & dirty fix
-----------------

ofboot.b is not an file in the debian-package yaboot.
ofboot.b is generated on the fly via running "sbin".
sbin is the alias for lilo on powerpc.

sbin calls "/usr/lib/yaboot/ofboot". Notice the
missing ".b" at the end.

ofboot generates ofboot.b on the fly and stores it
in the new-world boot-partition.

In order to change ofboot.b you have to change
ofboot.

Fixing the bug is easy.

Cut the complete-path-specification in line 114 of
"/usr/lib/yaboot/ofboot".


old & buggy line 114:

# [ "$1" = "ybsd" ] && BOOT="load-base release-load-area \" ${4}${5%/ *}/${5##*/},/bsd\" \$boot"


new & working line 114:

[ "$1" = "ybsd" ] && BOOT="load-base release-load-area \" ${4},\\\\\\ \\ofwboot /bsd\" \$boot"


Ofcourse you have to run sbin another time after changing /usr/lib/ yaboot/ofboot


a better solution
-----------------

Change the parameter "bsd=...." in yaboot.conf.
Let this parameter point to the openbsd-kernel
relativ to the openbsd-partition.

In the example let the user use "bsd-kernel="/bsd"
and not "bsd=/dev/hda..."

And cut the hardcoded name of the openbsd-kernel.
ofboot allways set the name to "bsd". But that is
no good.

If you compile a new openbsd-kernel, you usually
rename the old working kernel to "bsd.generic" or
"bsd.old". If the new kernel doesn't work, you
need a fallback, but cannot use yaboot. Yaboot
is only able to boot "bsd" and not any otherwise
named openbsd-kernel.



further information
-------------------

No further information. Specification of
kernel ... doesn't matter in this case.

Tested on mac mini.



Thank you for your passion to read this long text.

Yours
Peter Voigt
peter.voigt1 aht gmx.net





Reply to: