miboot documentation? (really minimal BootX)
Alexander Holst
yellowdog-general@lists.terrasoftsolutions.com
Mon Apr 7 23:04:01 2003
Hi everybody,
here's a mini HOWTO for booting/installing via miboot (sorry for the
long post):
Am Montag, 07.04.03, um 20:01 Uhr (Europe/Berlin) schrieb
yellowdog-general-request@lists.terrasoftsolutions.com:
> Message: 6
> Date: Sun, 06 Apr 2003 23:04:39 -0400
> From: Rick Thomas <rbthomas55@pobox.com>
> Subject: Re: miboot documentation? (really minimal BootX)
> To: yellowdog-general@lists.terrasoftsolutions.com
> Reply-To: yellowdog-general@lists.terrasoftsolutions.com
>
>
> Well, I tried it and it worked. Total size is just under 30 MB when
> copied
> to an HFS partition (It's actually important that it be an HFS, not
> HFS+,
> partition, so that it can be mounted read-write under Linux to allow
> me to
> copy new kernels into it.)
>
> So a 50 MB partition leaves plenty of room for experimental kernels
> and give
> me the highest functioning boot loader in the world!
>
> Tomorrow, I start on miBoot!
All my YDL boxes here are booted via miboot (exept for my ANS ;), so
they don't have any Apple Software on them any more. Only step 1] and
2] usually require some form of MacOS.
In my experience, miboot works very well for OldWorld machines, as well
as for B/W G3s. It is customizable trough a conf file called
"boot.conf, which must reside on the root level of the HFS (or HFS+)
partition. My HFS partitions are usually between 20 and 30 MB, which is
enough, as long as you are not experimenting with too many different
kernels. If you only have one, known to work kernel, even as little as
15 MB could be enough.
IMHO, HFS is recommended as you'll then be able to mount that partition
under Linux and alter the boot.conf file, to reflect any changes like
boot args and kernels. I usually use miboot for installation as well.
All you have to do, is to copy the desired installer ramdisk to the
root level of the HFS partition and specify it in the boot.conf file. I
even did a graphical install on a PM8200 this way ;) In case you want
to have a dual boot system, miboot serves well, as you will be able to
choose the volume containing miboot as a startup disk - just make it
the second (or more) partition on the drive, so holding down
<CMD><ALT><P><R> will enable you to reset the PRAM and enable you to
boot back into Mac OS, or doing it the good ole way, using two or more
SCSI disks, holding down <CMD><ALT><SHIFT><Backspace><# of SCSI ID of
BootDrive> will let you boot off your desired boot drive :)
My usual steps in performing an install through miboot consist of the
following:
1]
Boot from a bootable CD containing any drive partitioning utilities to
partition/initialize your disk. A MacOS 8.1 or higher install CD is
recomended as you will be able to access any other stuff you will need
through the network. Making 1 partition suffices completely: 1 HFS
partition, rest empty (that will be used for Linux later). As with all
the installs I have performed so far, all installers (YDL 2.0, 2.2 &
2.3) allowed me to partion the remaining space on the drive during
installation. Make one partition that will become the HFS boot
partition for the machine. Again, HFS is considered to be used rather
than HFS+, for reasons explained above. Partition size: 15MB for
machines with only one usable kernel, more for experimenting (take into
consideration that each kernel requires between 3 and 5MB).
2]
Copy all needed miboot stuff on the newly created HFS partition. I
usually use the Systemfolder of an old LinuxPPC2000 Q4 CD, as it has
proved to work flawlessly (if neccessary, I could provide that). Needed
are the following components:
a] a "System Folder" on the root level that contains "Finder" and
"System", the actual miboot software. Be sure to open this "System
Folder" at least once under MacOS, so it gets blessed, aka the icon of
the folder in the Finder will contain a "Happy Mac", otherwise you
won't be able to choose it as a boot drive in the StartupDisk control
panel later on.
b] a text file called boot.conf on the root level (this file can be in
SimpleText format or Linux format - I usually create it with SimpleText
the first time, then edit it with gEdit, pico ... when installation has
finished). Mine looks as follows:
init-message = "\nWelcome to YDL!\Press <TAB> for boot options.\n\n"
timeout = 50
default = bootYDL
image = vmlinux-2.4.18-0.8a
label = bootYDL
root = /dev/sdb8
append = "video=atyfb:vmode:18,cmode:24"
image = vmlinux-2.4YDLinstall
label = install_YDL
initrd = ramdisk-text.image.gz
initrd-size=16384
root = /dev/ram0
append = "video=atyfb:vmode:18,cmode:24"
It looks much like a quik.conf file. The "default=bootYDL" is ignored!
I kept that line in all my boot.conf files, as I have no idea whether
leaving it out messes things up. Default will alwyas be the _first_ set
of entries in this file. At least that's what I found out. All other
sets will be displayed as options, when hitting the spacebar at the
initial "Tux Scenery" screen. Note the second set of entries, labled
"install_YDL" - these are required for installing YDL through this
method. All mentioned kernels _must_ reside in a folder called "Linux
Kernels" on the root level of that partition, hence step c]. The
ramdisk image, needed for installation must also be on the root level
of the HFS partition - hence step d]. Take note, althogh currently
working under MacOS, case sensitivity must be observed, as later while
booting into Linux, it is required to keep entries in boot.conf
according to the "real" names of the items on the HFS partition (kernel
names, ramdisk name). The "timeout = 50" entry specifies, how long the
initial screen will be displayed before booting into the default
settings. Time is in 1/10 secs, so 50 means 5 secs, 100 = 10s ... In
case you have to specify custom kernel parameters, you can have a line
like:
append = "video=atyfb:vmode:18,cmode:24" (worked on my G3/233 DT ;)
It works much better than specifying the vmode and cmode settings in
the displayd screen of miboot - somehow, these get scrambled when
entered at the boot options screen, at least in the version of miboot I
use. Any custom kernel arguments can be passed to the kernel this way.
(I am writing this out of my memory, so the append line may be wrong,
choose proper values for your setup or leave the line awy, miboot will
then use the video settings set by MacOS. These can be controlled from
within Linux via nvvideo - see man nvvideo)
c] a folder called "Linux Kernels" (note the space in that name) on the
root level, containing your kernel/s. I usually have a second Mac that
serves as a fileserver to get the stuff from the different CDs (YDL
install CD ...). As of at least MacOS 8.1 and higher, the install CDs
had a Chooser, so access to AFP servers is possible. It is possible to
copy everything needed to a ZIP or such, before starting the process as
well. You can use the supplied YDL kernel from a YDL install CD in most
cases (exept for NuBus Macs, you definitely will need a custom kernel -
if needed, I can supply one, as my Performa 5200 is running YDL 2.2 at
the moment, waiting for 3.0 to be installed :)
d] to be able to install, we need the appropriate ramdisk on the root
level of this HFS partition too. Copy the desired one (text or X11 or
both) from your YDL install CD to the partition - do _not_ unpack
it/them, leave it/them as is. BTW, as of YDL 2.3, text as well as X11
worked fine for me - X11 needs more RAM, so in case you are short in
RAM, use the text ramdisk image.
3]
Open the StartupDisk control panel and select the newly generated
StartupDisk as the default StartupDisk and reboot. Upon the miboot
screen, press <Space> to get into the otions screen, unload whatever CD
is in the drive and insert the YDL install CD, choose your "install
set" and hit boot. Hopefully you will see Tux greeting you at the top
of the screen followed by the usual console messages.
4]
Everything from this point on should be according to YDL's
documentation about installing YDL (or whatever distro you are
installing - LPPC2kQ4 worked fine this way as well). Be sure to choose
"Custom" as the install method, as the YDL installer will not recognize
the "out of the ordinary" partitioning scheme, to be able to enter the
correct mount points for your partitions later during the installation
process. As for further partitioning your drive, _only_ alter the
remaining free space of the drive, do _not_ alter any of your driver
partitions (they are necessary for booting), nor delete or alter the
HFS Boot partition you created earlier. In case you created two HFS
partitions in step 1], simply delete the _last_ HFS partition (which
you intended to use for Linux anyway) and create your swap and root
partition. My drives look as follows (output from pdisk - I use
/dev/sda2 for /home):
Partition map (with 512 byte blocks) on '/dev/sda'
#: type name length base ( size )
1: Apple_partition_map Apple 63 @ 1
2: Apple_UNIX_SVR2*untitled 2110748 @ 64 ( 1.0G)
Device block size=512, Number of Blocks=2110812 (1.0G)
DeviceType=0x0, DeviceId=0x0
Drivers-
1: 23 @ 64, type=0x1
2: 36 @ 118, type=0xffff
partition map (with 512 byte blocks) on '/dev/sdb'
#: type name length base ( size )
1: Apple_partition_map Apple 63 @ 1
2: Apple_Driver43*Macintosh 54 @ 64
3: Apple_Driver43*Macintosh 74 @ 118
4: Apple_Driver_IOKit Macintosh 512 @ 192
5: Apple_Patches Patch Partition 512 @ 704
6: Apple_HFS "Boot_Linux" 65536 @ 1216 ( 32.0M)
7: Apple_UNIX_SVR2 swap 262145 @ 66752 (128.0M)
8: Apple_UNIX_SVR2 untitled 3849977 @ 328897 ( 1.8G)
Device block size=512, Number of Blocks=4178874 (2.0G)
DeviceType=0x0, DeviceId=0x0
Drivers-
1: 23 @ 64, type=0x1
2: 36 @ 118, type=0xffff
In the mount points section of the installer you can specify something
like "/mnt/Boot_Linux" as mount point for the HFS BootPartition
together with type HFS, then you'll be able to access that partition
from within Linux (that's the reason why we initialized it as HFS and
not HFS+ in step 1]). You will certainly want to alter the boot.conf
file on that partition at some stage. Do _not_ mount that partition at
/boot, it will most likely mess things up. Partitioning schemes with
more than one partition (besides swap) are possible and up to your
taste.
Do not install any boot loaders from within the installer - not needed
with miboot. I usually choose text as preferred login mehtod for the
beginning untill I have solid XFree config files with proper screen
resolutions - you may choose graphical in case you are sure your
settings will work.
5]
After finishing the install you will have to edit the boot.conf file on
your HFS partition to reflect the root partition of your linux
installation. It will be mentioned by the installer at the end of the
installation process. Write it down and put it in the appropriate line
of boot.conf. There are several ways to accomplish that. One would be
to boot with a MacOS CD again by holding down <C> and use SimpleText to
edit the file. Another would be to enter the options screen of miboot
and enter the root partition in the proper field (a predefined set for
booting into Linux in boot.conf helps a lot - you safe some
typing/deleting in that screen, as it is very slow), boot into your
newly installed Linux installation and use any editor of your
preference for altering the boot.conf file or completely write a new
one, to get around the line breaking issue (Macintosh vs. Linux line
breaks). It seems that the format of line breaks does not affect the
proper funtionality of miboot, it is just annoying to have everything
in one line under Linux.
I hope this will get your machine/s booted into Linux, using miboot as
preferred booting mehtod.
Greetings,
Alex
Alexander Holst
Pforzheim University of Applied Sciences
<holst@fh-pforzheim.de>
ph: +49 [0]7231 28-6837
fx: +49 [0]7231 28-6040