From: Benjamin Herrenschmidt <bh40@calva.net>
To: linuxppc-dev@lists.linuxppc.org
Cc: Paul.Mackerras@cs.anu.edu.au
Subject: Re: New booter (about quik)
Date: Fri, 17 Sep 1999 17:06:50 +0200 [thread overview]
Message-ID: <19990917170650.032280@mailhost.mipsys.com> (raw)
In-Reply-To: <199909170032.KAA13065@tango.anu.edu.au>
On Fri, Sep 17, 1999, Paul Mackerras <paulus@cs.anu.edu.au> wrote:
>So in principle it would be possible to put the quik first-stage
>bootstrap on an HFS partition. You would just have it as a contiguous
>HFS file somewhere and set the partition table entry to point to it.
We could also simply make a bootstrap partition, like Darwin's
SecondaryLoader (not the same as MacOS X Server's one).
The interesting this is that the partition map itself is usually quite
large (about 32k), and can be shrinked to make room for such a partition
(I did this some years ago for a security application on MacOS).
I did find more details about the way bootable CDs are done. Basically,
they contains a hacked partition map (that can be read with both a 2k
bloc size and a 512k block size, using "shadow" partitions) and they
contain a driver like any SCSI or ATA disk. There's also a special Apple
patch which checks for the "C" key and changes the default boot device
(in a weird way) when pressed. There is enough rooms in those special CD
maps to store one or two more partitions, allowing us to have an ext2 or
ISO partition after the HFS one. It's not as good as a fully ISO CD but
would probably allow to work around OF limitations.
So for bootable CDs, we have two solutions. In all cases, I beleive we
need an HFS partition for OF 3. Then we can either:
- Have an miBoot-like fake System for older OFs and/or NuBus macs. This
requires having the special Apple driver on the CD, the CD must be burned
with Adaptec Toast on MacOS. This technique can also be used for floppies
(without any driver) and for hard disks (need a MacOS driver on the
disk). This could be a fist step since miBoot is almost working.
- Have a fake driver on this CD which contains miBoot code. It could be
triggered either automatically (when booting with the CD in the driver)
or via a key combo. We can even imagine a simple user interface, there
are bits of QuickDraw that can be used during driver loading (they are in
ROM) and we can always tap the frame buffer directly. The keyboard state
can be read either via the Event Manager (partially working at this point
in boot) or by reading the MacOS KeyMap image in low memory.
Both techniques should also work for 68k macs that support booting from a
CD (I think the first one is the IIvx).
The only issue with the second solution is that the MacOS SCSI Manager
and ATA Manager are the ROM versions and they do contain bugs. Usually,
drivers embed a special patch partition containing various Apple patches
used for fixing those, but the patches must be licenced (probably a no
fee licence, but it's a licence and so can be annoying).
We may be able to boot anyway without those patches by using exxclusively
synchronous polled SCSI calls and/or simple PIO0 ATA calls.
Finally, for hard disks, we may be able to put a booter in a "chained
driver" partition. This is a special driver which will itself load
another driver. It's mainly used to install the apple patches. This way,
we could chain a driver before the real macos hard disk driver (if the
user wants MacOS of course). We can develop a full featured MacOS driver,
I do have some sources to start from, but the problem of licencing the
apple patches will still be there. Note that developing a driver would be
useful for mac-on-linux.
I don't know if I'll have time to do much useful work this week end, we
have AppleExpo here in France and I have a couple of personal things to
do. If someone wants to look at the current miBoot code and find out why
the kernel hangs, you have time ;-) Also, my powerbook is giving signs of
fatigue (the LCD is dying).
--
Perso. e-mail: <mailto:bh40@calva.net>
Work e-mail: <mailto:benh@mipsys.com>
BenH. Web : <http://calvaweb.calvacom.fr/bh40/>
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
prev parent reply other threads:[~1999-09-17 15:06 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <v04011701b404e6cd4493@[199.174.193.101]>
[not found] ` <v04210105b404ed46f043@[192.168.0.1]>
1999-09-15 9:39 ` New booter Benjamin Herrenschmidt
1999-09-15 9:58 ` Ethan Benson
1999-09-15 17:53 ` Kevyn Shortell
1999-09-15 18:03 ` David A. Gatwood
1999-09-15 22:40 ` Ethan Benson
1999-09-15 22:56 ` Tom Rini
1999-09-16 7:50 ` New booter-New world Sean
1999-09-16 11:46 ` David Riley
1999-09-16 17:05 ` Kevyn Shortell
1999-09-16 23:46 ` Sean
1999-09-15 23:03 ` New booter Dan Burcaw
1999-09-15 22:37 ` Ethan Benson
1999-09-15 23:02 ` Peter Bierman
1999-09-16 3:18 ` Ethan Benson
1999-09-16 3:37 ` David D. Kilzer
1999-09-15 23:10 ` Wolfgang Denk
1999-09-16 8:16 ` Geert Uytterhoeven
1999-09-16 8:38 ` Ethan Benson
1999-09-16 10:47 ` Benjamin Herrenschmidt
1999-09-16 17:01 ` David A. Gatwood
1999-09-16 18:48 ` Michel Lanners
1999-09-15 23:15 ` erik cameron
1999-09-16 3:50 ` Ethan Benson
1999-09-16 4:21 ` Dan Burcaw
1999-09-15 17:22 ` David A. Gatwood
1999-09-15 22:41 ` Ethan Benson
1999-09-15 17:39 ` Peter Bierman
1999-09-15 22:27 ` Ethan Benson
1999-09-15 22:47 ` David N. Welton
1999-09-15 23:01 ` Dan Burcaw
1999-09-15 22:48 ` Peter Bierman
1999-09-15 23:19 ` Ethan Benson
1999-09-15 23:48 ` Tom Rini
1999-09-16 0:23 ` David A. Gatwood
1999-09-16 4:02 ` Sean
1999-09-16 5:42 ` David A. Gatwood
1999-09-16 3:59 ` Ethan Benson
1999-09-16 7:42 ` New booter (about quik) Michel Lanners
1999-09-17 0:32 ` Paul Mackerras
1999-09-17 1:46 ` Ethan Benson
1999-09-17 15:06 ` Benjamin Herrenschmidt [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=19990917170650.032280@mailhost.mipsys.com \
--to=bh40@calva.net \
--cc=Paul.Mackerras@cs.anu.edu.au \
--cc=linuxppc-dev@lists.linuxppc.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).