Voodooprojects
Chameleon => General Discussion => Topic started by: iTuning on May 07, 2011, 04:03:30 PM
-
Hello, guys, and thanx for the info !
I'm fighting with Chameleon for a couple of days already,
trying to make it see and boot FreeBSD :)
I tried various versions/hints from iFabio and Black OSX in InsanelyMac (MacFanatic76 there ;)),
and stopped here, having hoped this one would do the job finally.
Nope...It also cannot see the damn FreeBSD-partition,
or is it just me that forgets to do something important ?
Here's what i did so far + some drives layout info :
- FreeBSD is installed on the second BIOS-drive, with a Mac-created GPT structure,
the EFI-part is setup with all the needed stuff for Lion + Chameleon
- All other partitions from this and other drives are properly detected,
Lion is also booting just fine
- Here the setup :
bash-3.2# gptsync /dev/rdisk1
Current GPT partition table:
# Start LBA End LBA Type
1 40 409639 EFI System (FAT)
2 409640 195459999 Mac OS X HFS+
3 195722144 212499359 Linux Swap
4 212499360 422214559 Basic Data
5 195460000 195460127 Unknown
6 422214560 438991775 FreeBSD Swap
7 438991776 459963295 FreeBSD UFS
8 459963296 491420575 FreeBSD UFS
9 491420576 543849375 FreeBSD UFS
10 543849376 648706975 FreeBSD UFS
Current MBR partition table:
# A Start LBA End LBA Type
1 1 39 ee EFI Protective
2 40 409639 af Mac OS X HFS+
3 409640 195459999 af Mac OS X HFS+
4 195722144 12499359 82 Linux swap / Solaris
Status: GPT partition of type 'Unknown' found, will not touch this disk.
I used a manual way of installing FreeBSD 8.2 AMD64, because the standard installer
and its "fdisk" are incapable of handling GPT properly.
Used standard UFS-formatting of the partitions, because ZFS is even worse to boot from :D
Partitions are :
#5 - freebsd-boot
#6 - freebsd-swap
#7-10 - freebsd-ufs, for root, var, tmp and usr respectively
For booting FreeBSD, i created a partition of type "freebsd-boot" and size 64K,
which is shown in the above table as "unknown", the 5-th part.
Wrote the bootcode as suggested :
gpart bootcode -b /dist/boot/pmbr -p /dist/boot/gptboot -i 5 ad12
This would of course boot FreeBSD, because it then remains the only bootloader
on the drive and because of the "pmbr" (protective MBR) too.
Well, putting the "gptboot" on the root part (part 7) did not make any difference as well,
when the pmbr is replaced with Chameleon. I followed Fabio's post here, downloaded
Kabyl's branch (thanx !), applied the V2-diff, compiled it manually (not with XCode)
and put the "default" theme, which contains BlackOSX's *BSD-icons (thanx !)
Installed it as usual, using the boot0, boot1h and boot-files (booting from EFI).
Same result... No UFS-partition is seen, at all.
Using gptsync and putting FreeBSD-partitions in the MBR-part of the drive - no sense.
Could I please get any hints or remarks, as what could be wrong my side ?
Thanx all in advance !
Cheers
-
Post moved to general board.
Do not ask for support on the developer forum and its sub-forums. This is clearly stated under the forum title on the main page.
-
I used a manual way of installing FreeBSD 8.2 AMD64, because the standard installer
and its "fdisk" are incapable of handling GPT properly.
this is a total guess, and maybe another part of your post confirm this isn't a clue, but the thought that came to my mind is maybe chameleon needs FreeBSD to be installed in the way that the standard installer are capable of handling. perhaps the manual process of your install is what is causing the issue (such as linux needing a primary partition with grub installed on that same partition, no where else, for chameleon to see it)
good luck
-
Oh, sorry for that, people, I must have overseen it while posting,
thanx for having moved it to the right section.
Spalek83 - Thanx for answering, but no, it is not because of Linux/primary partitions.
I use solely GPT-drives for quite some time now, but the "Mac-way" :
I set them up from Disk Utility, in order to get the EFI-part, cause I use always Chameleon for booting.
This means two things :
- The Mac-partitions setup is different from the general GPT-setup,
for example when doing it from under Linux (the additional EFI-partition)
- There are no primary/logical/"only 4 primary" partitions or any similar "msdos"-crap under GPT :)
As for the install, there is still no other way of installing FreeBSD under GPT than from the command line,
the standard DVD-installer still uses its "fdisk" - utility, which we all know has big time troubles with GPT.
Seen otherwise, I just think it is the UFS file system the one not been recognized by Chameleon,
cause any other OS (well, practically any Linux distro) is immediately seen and booted,
as far or course its GRUB-loader resides on its main partition. There is also no differernce,
where the Linux part would reside - even in the MBR-part (if GPT/Hybrid MBR) it's quite fine,
Linux filesystems as ext3 and ext4 are recognized "out of the box" :)
-
I wasn't saying that it was due to linux/primary partitions(it was just an example), just that since you didn't install the normal way, so somehow you might of missed something specific Chameleon needs to recognize FreeBSD.
I used a manual way of installing FreeBSD 8.2 AMD64, because the standard installer
and its "fdisk" are incapable of handling GPT properly.
That right there. Non normal install=not working with chameleon... perhaps
-
You can install FreeBSD directly from the CD onto a GPT disk -- as long as you convert the disk to MBR and remove all traces of the GPT structures. After the installation, you can restore your disk back to GPT and/or hybrid MBR. FreeBSD 8.1 boots just fine from a GPT disk -- as long as you edit fstab and replace all occurences of "s" with "p" (i.e., ad0s3 to ad0p7). All of this can be easily done with gdisk, and I've done it numerous times on 3 PCs. There's no need for a comand-line install.
The problem with Chameleon is that it won't recognize FreeBSD if you have a hybrid MBR or plain GPT. It has nothing to do with the way you install. Chameleon will only recognize FreeBSD if the disk is MBR with no GPT structures.
I've tried to track this bug down as I was adding Haiku support. Chameleon boots Haiku from MBR, GPT with hybrid MBR, or just plain GPT. Any combination works perfectly. And since I just basically modified the FreeBSD code to make it work for Haiku, why does it work for Haiku and not FreeBSD? I can't figure it out.
-
Thank you for the clarification, Scorpius.
Well, that one wonders me, too... Why on earth UFS is not seen and booted on a normal GPT.
My "problem" is actually that I do not want to hear anything from Winbooze, MSDOS-part tables, NTFS
and any related garbage :D
I am still wondering, why that big difference in the GPT-structure, apart from the EFI-part,
when creating a GPT from under Linux and from under OS X...
Surely, one of the things I mostly desire is that Chameleon stays the "Grand" Bootloader
and boots ZFS, Btrs and all the great *nixes :)