WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: How I boot three x86_64 versions of TC from a single USB thumb drive on a Mac  (Read 3742 times)

Offline coreplayer2

  • Hero Member
  • *****
  • Posts: 3020
I needed an EFI compliant x86_64 TC environment bootable on Mac's while compiling Mac device drivers

So a USB thumb drive was partitioned (sdb1) using FAT32 mainly for the EFI boot loader (grub2) and recovery tools.  In that small first partition is installed a minimal x86_64 (core64) TC installation with Windows manager and basic tools for boot recovery and provide access to the main x86_64 driver compile environment partition.  Also installed here are both core64 and corepure64 kernels along with Grub2.

The remainder of the USB thumb drive (sdb2) is formatted using EXT2, containing separate tce and optional (tcz) directories for each  core64 and corepure64 compile platforms.

Partitioning the USB Thumb-drive

Creating the multi boot TC environment

At the heart of this system is Grub2 config which contains
Code: [Select]
## grub2 configuration

loadfont unicode
insmod efi_gop
set gfxterm=auto
terminal_output gfxterm

#Timeout for menu
set default=0
set timeout=3

#FrameBuffer Menu Entry
menuentry " EFI Desktop Ext2 core64 " {
  linux /boot/linux64/vmlinuzEFI64 loglevel=3 waitusb=10:LABEL=DEV1 VGA=792 noswap tz=GMT tce=UUID="04b4a5c8-b8f8-48f1-8fcd-ef30bb6ee768"/core64/tce home=UUID="04b4a5c8-b8f8-48f1-8fcd-ef30bb6ee768"
  initrd /boot/linux64/core64.gz

#FrameBuffer Menu Entry
menuentry " EFI Desktop Ext2 corepure64 " {
  linux /boot/linux64/vmlinuzEFI64 loglevel=3 waitusb=10:LABEL=DEV1 vga=0x318 noswap tz=GMT tce=UUID="04b4a5c8-b8f8-48f1-8fcd-ef30bb6ee768"/corepure64/tce
  initrd /boot/linux64/corepure64.gz

#FrameBuffer Menu Entry
menuentry " EFI Desktop Mode FAT32 (boot recovery) " {
  linux /boot/linux64/vmlinuzEFI64 loglevel=3 waitusb=10:LABEL=DEV1 VGA=792 noswap tz=GMT tce=UUID="520D-544A"
  initrd /boot/linux64/core64.gz

#Text Mode Menu Entry
menuentry " EFI Text Mode FAT32 (boot recovery minimal noapic) " {
  linux /boot/linux64/vmlinuzEFI64 loglevel=3 waitusb=10:LABEL=DEV1 noswap text tz=GMT tce=UUID="520D-544A" noapic nolapic
  initrd /boot/linux64/core64.gz

more coming...  (pictures etc)
« Last Edit: January 06, 2013, 11:55:07 PM by coreplayer2 »

Offline netnomad

  • Hero Member
  • *****
  • Posts: 1027
hi coreplayer2,

very interesting projekt... that's what i really like :)
i also use multiboot-environments, but i didn't succeed to boot on macs.
can you use the same configurations for common x86-machines (32-bit), too?
if not, is there a way to adjust them to use the same environment flexible for macs and x86-pcs?

please be so kind and give us more detailed informations about what minimal set of efi- and grub-files you needed and which config-files you adjusted for your needs.

thank you for your help and hints.
« Last Edit: January 06, 2013, 02:01:14 AM by netnomad »

Offline sebus

  • Jr. Member
  • **
  • Posts: 96
Thanks for this, really handy.

It might be worth pointing to Grub2 bootloader tutorial - w w w.dedoimedo.com/computers/grub-2.html

Offline coreplayer2

  • Hero Member
  • *****
  • Posts: 3020
This multi boot USB thumb drive boots any Intel Mac.  It uses the Linux kernel compiled by Janito with the required EFI options. 

compiled a x64 Grub2 rc version on a Mac using the 64 bit toolchain, I have not yet compiled a 32 bit version but AIUI the 32 bit boot loader should work on at least the older original 32bit intel based Macs..?

This corepure64 USB build was intended for compiling latest drivers, so far have remastered the core64 & corepure64 kernels with updated T3 Ethernet drivers to support the new Ethernet Adapters in 2012 Mac's.
« Last Edit: January 13, 2013, 12:57:05 PM by coreplayer2 »

Offline flatop0315

  • WikiUser
  • *
  • Posts: 2
Hello Coreplayer2, is the Linux kernel that Jaunito compiled for EFI available for download? Thank you for your assistance.