Installation on Macbook Pro
Bill Hacker
wbh at conducive.org
Tue Mar 18 18:57:56 PDT 2008
Christopher Rawnsley wrote:
Here is a little update for my problem...
On 12 Mar 2008, at 02:48, YONETANI Tomokazu wrote:
IIRC, you need to fiddle with ad5*. A better alternative I can think of
is to partition (or maybe even disklabel it and newfs -O1) using FreeBSD
installer first, then boot with DragonFly LiveCD, and continue the rest
of procedure explained in /README .
Formatting with FreeBSD worked fine. FreeBSD appeared to have formatted
the disk differently by switching the slice order. So the 165 ID
(DragonFly/Free BSD) slice came before my 175 ID (HFS+) slice even
though the physical disk layout was the other way round (Significant at
all?). I now had a properly sliced drive so I rebooted with DF which
could now write to the disk :). Thank you for that, Yonetani.
So I rebooted and this time booted from the hard drive. Boot loader came
up! Unfortunately, it couldn't boot the DF slice. So I went back to the
CD and (this is where I got a bit stupid...) fired up fdisk to check
everything out. Nothing to odd. Had a look at gpt's output too. Which I
found to be a little odd. The DF slice shared the same index (of 1) with
my EFI slice with Mac OS X at index 2.
Let me first explain that, from what I read, in order for a computer to
comply with EFI they have to have an extra slice set aside for EFI. On
my laptop that means that I have this in the form of a 200MB slice with
the rest for whatever.
>
> Now I remember seeing when Mac OS X and Windows
was installed, I booted into the DF live CD and ran gpt. The output that
time around was EFI slice at 1, Mac OS X at 2 and Windows at 3. Even
though I don't think boot0 can boot from the GPT, I wonder whether the
FreeBSD installer changed something in a similar way to the MBR. Very
speculative, I know but I can't check out anymore 'cause...
Side Note: Recall my saying Apple marched to the beat of a different
orchestra?
If memory serves, this is where some of that shows.
There isn't just one such 'hidden' slice - there is one preceding *every
other* slice/partition. I.E. my 6 UFS slices, having been set up with OS
X have 6 100 MB slices in between them.
There is information about this online in OS X-specific articles, and it
is why I suggest using a separate HDD entirely, as I do with *BSD/PPc
(FW800 is *fast*, and even USB 2.) is decent)
Going on my hunch that something in the MBR was wrong and was causing
boot0 to not read it properly I decided to open up fdisk and see if I
could find anything that might be a cause. I checked each slice through
using the -u option (IIRC) and when I got the the Mac OS X slice it
complained about the head boundaries being all wrong. I rather stupidly
thought that I'd let it automatically update this. This caused nothing
to boot etc. Long story short I ended wiping everything in favour of it
being quicker for me (I had deadlines to meet...). It was all backed up
so hopefully that won't keep anyone awake at night!
Just for 'education' as to how different things really are - creadm, but
do not alter, with both fdisk and disklabel from FreeBSD/PPc AND OpenBSD
PPc as well as DFLY.
I think I will come back to DF in the not so distant future but I'm just
going to let myself go on other things for now. Thanks a lot to all you
guys who tried to help me. I really appreciate it :)
--
Chris
P.S. Would it be possible to by pass the MBR all together in favour of
GPT by simply using another boot loader other than boot0
Yes - though that isn't entirely 'bypassing' the MBR in all cases, it
can be made so.
See the various 'boot floppy' methods, including grub (compex for
complexity's own sake, but flexible) and 'GAG' (simple, but effective)
or even Warp LVM if you can get your hands on a copy - then think USB
stick instead of floppy.
It is also fairly easy to alter and re-assemble boot0 to build a custom
loader. Even if asm language is not your long suit, the code is in
'symbolic' assembler, and there is very littel of it, so is easy to
grok. (Mine drops never-used-here FAT/NTFS/DOS recognition in favor of
grokking Minix, Solaris, Syllable, fs types for example)
or would this
also require changes in the kernel or elsewhere?
Not required - yet.
Potential gains *could* be had where multiple controllers and drives
exist - my 'normal' environment.
What is wanted is that the next two stages are as BFBI simple as boot0.
Ex: If changing drive order (cartridges, externals) or controller
channel-order, the visible part is an fstab that 'follows suit'.
In FreeBSD or DFLY, this can be accomplished by creative disklabeling
and such, e.g. :
- set up a RAID1 array with (n)atacontrol, even if you never add the
second drive. fstab will have entries such as /dev/ar(x)s(n) - which
will be 'found' even if the devices of the set that had been /dev/ad0
moves to /dev/ad6 or ad10. Similar with GEOM / GMIRROR in FreeBSD.
- in FreeBSD (haven't tested with DFLY), use /dev/ufs/<label> instead of
/dev/ad(x)s(n). Likewise, these will be 'found' regardless of channel
re-ordering.
One of the 'opportunities' ("There are no 'problems'...") w/r trying to
use info from the disklabel, however, is that nearly all of the ffs/ufs
'players' have drifted apart w/r their use and interpretation of fdisk
(slightly) and their disklabel (very significantly). For FreeBSD / DFLY
the differences do not always show. OpenBSD OTOH makes you think you
have accidentally booted DRDOS...
I don't see that changing - nor 'all other' os & fs vanishing.
So IF one is to be able to mix and match - one either needs - grub or
OS/2-LVM-style - a boot manager that stands above the fray - essentially
a mini-OS - ELSE to move to a 'none of the above' universal-donor fs
type - at least for booting.
After that - the full weight of the OS is in-hand, and there are tools
to mount <whatever> from <wherever>.
'Short term' the answer may be to make use of increasingly universal
large RAM, load a lean toolset into RAM as a live cd does, then go off
and *inspect* the available media, report findings, and await
instructions or time-out to last used boot device.
Not hard - we did it in asm on dual-FDD-controller CP/M machines that
could haul 16 8" and 16 5 1/4" drives from a dozen different makers, ID
them by probing their indexing schemes (soft, songle-hole, multi-hole,
inner track, outer track) and disk layout.
But bloody *tedious*....
We again live in 'interesting times' w/r flexible, but not fully mature
'standards'.
Bill
More information about the Users
mailing list