[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 is following. On the second place you find the bugreport (last version).

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.

...
-------------------------------------------------------------------
Bugreport

OpenBSD can't boot via yaboot on powerpc. Dualboot doesn't work.

This bug is common to all versions of debian (stable,
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 at first place.

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

If debian is installed, the open firmware finds the
complete path to the debian-bootlooder and boots 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 displays a small menu. To choose the os, which
the user wants to boot, he 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 to 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.

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". This path 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-partition 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. (And ofwboot finds only one,
if there are more of them. ofwboot finds the last one).



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

ofboot.b is not visible as part of the debian-package
yaboot.

ofboot.b is generated on the fly running "sbin".


sbin is the "alias" for lilo on powerpc.

sbin calls "/usr/lib/yaboot/ofboot" as subprogramm.
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 path-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 please change the hardcoded name of the openbsd-kernel.
ofboot allways set the name to "bsd". But that is not 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
-------------------

Testet on Mac mini with current debian-testing.


Thank you for your passion to read this long text.

Yours
Peter Voigt
peter.voigt1 aht gmx.net






Reply to: