 |
PowerMac G5 multiboot MorphOS, OSX, Linux...
Pokud chce¹ vedle MorphOS instalovat víc operaèních systémù, bude potøeba vyøe¹it zpùsob jejich startu.
Moje G5 po zapnutí startuje pøímo do MorphOS. Pøi startu s podr¾ením klávesy "Option" (alt) se objeví "boot screen" Pic.1,
kde ikona OSX spustí OSX Leopard a ikona s motýlkem spustí dal¹í boot menu Pic.6 s výbìrem v¹ech OS.
|

Pic.1 - Mac boot screen. |

Pic.2 - Badge icon - motýlek. |

Pic.3 - Open Firmware dir hd:2,\ Soubor bootinfo.txt je "tbxi". |

Pic.4 - Open Firmware printenv. |

Pic.5 - Open Firmware dir hd:2,\ Soubor ofboot.b je "tbxi". |

Pic.6 - Open Firmware boot menu. |

Pic.7 - Yaboot nabídka. |
|
bootinfo.txt
Soubor bootinfo.txt je pøidán MorphOS instalátorem na tvùj boot partition a je oznaèen programem HFSSetMacBoot Pic.3.
Pokud má¹ jen jeden disk a na nìm nainstalován jen MorphOS tak toto zajistí ¾e poèítaè bude po zapnutí nebo resetu bootovat pøímo do MorphOS.
Soubor bootinfo.txt spustí "bootovací pøíkaz" boot hd:2,\boot.img ramdebug
|
ofboot.b
Soubor ofboot.b je pøidán Linuxovým instalátorem na tvùj boot partition.
Pozor pokud bude¹ instalovat Linux a¾ po MorphOS a vybere¹ stejný boot partition, v¹echny
soubory co obsahuje budou smazány! Radìji si obsah svého boot partitionu zálohuj.
Pùvodní soubor ofboot.b jsem upravil tak aby se pomocí nìj daly vybrat v¹echny operaèní sytémy co jsou na discích.
Zmìnil jsem klíèová slova (bootmate, bootleo, morphos), jejich popisy a také zkrátil pøíli¹ matoucí cesty.
|
Pùvodní Linux soubor
: bootyaboot " Loading second stage bootstrap..." .printf 100 ms load-base release-load-area " /ht@0,f2000000/pci@7/k2-sata-root@c/@ffffffffffffffff/@0:2,\\yaboot" $boot ;
: bootmacos " Booting MacOS..." .printf 100 ms load-base release-load-area " /ht@0,f2000000/pci@7/k2-sata-root@c/@ffffffffffffffff/@0:7,\\:tbxi" $boot ;
: bootmacosx " Booting MacOSX..." .printf 100 ms load-base release-load-area " /ht@0,f2000000/pci@7/k2-sata-root@c/@ffffffffffffffff/@0:3,\\:tbxi" $boot ;
: bootcd " Booting CDROM..." .printf 100 ms load-base release-load-area " cd:,\\:tbxi" $boot ;
|
bootyaboot spustí yaboot. Yaboot je na prvním disku partition 2 (boot partition), yaboot.conf musí být také na boot partitionu.
bootmate spustí yaboot, ale s parametrem conf=ultra0:2,/yabootmate.conf, kde je plná cesta k jinému .conf souboru (pozor jiné lomítko).
bootleo je cesta ke spou¹tìèi OSX, který je na druhém disku partition 3.
morphos spustí MorphOS "bootovací pøíkaz" - soubor boot.img i s parametrem (opìt z boot partitionu).
|
Upravené pro MorphOS a dal¹í
: bootyaboot " Booting Ubuntu..." .printf 100 ms load-base release-load-area " ultra0:2,\yaboot" $boot ;
: bootmate " Booting Mate..." .printf 100 ms load-base release-load-area " ultra0:2,\yaboot conf=ultra0:2,/yabootmate.conf" $boot ;
: bootleo " Booting Leopard..." .printf 100 ms load-base release-load-area " ultra1:3,\\:tbxi" $boot ;
: morphos " Booting MorphOS..." .printf 100 ms load-base release-load-area " ultra0:2,\boot.img ramdebug" $boot ;
|
|
Pùvodní Linux soubor
" First Stage Debian GNU/Linux Bootstrap"(0d 0a)" .printf
" "(0d 0a)" .printf
" Press l for GNU/Linux,"(0d 0a)" .printf
" m for MacOS,"(0d 0a)" .printf
" x for MacOSX,"(0d 0a)" .printf
" c for CDROM."(0d 0a)" .printf
" "(0d 0a)" .printf
" Stage 1 Boot: " .printf
|
|
Toto je textové menu Pic.6, které se zobrazí j¹tì pøed bootem. Svoje menu si uprav podle svého, samotná písmena pak
spustí dal¹í "akci".
|
Upravené pro MorphOS a dal¹í
" Welcome to S.D.I HQ"(0d 0a)" .printf
" "(0d 0a)" .printf
" Press l for LUbuntu LTS,"(0d 0a)" .printf
" t for Ubuntu Mate LTS,"(0d 0a)" .printf
" x for MacOSX Leopard,"(0d 0a)" .printf
" m for MorphOS (default)."(0d 0a)" .printf
" "(0d 0a)" .printf
" Stage 1 Boot: " .printf
|
|
Pùvodní Linux soubor
begin
key? if
key case
ascii l of " l "(0d 0a)" .printf bootyaboot endof
ascii m of " m "(0d 0a)" .printf bootmacos endof
ascii x of " x "(0d 0a)" .printf bootmacosx endof
ascii c of " c "(0d 0a)" .printf bootcd endof
endcase
then
dup get-msecs <
until
drop
" "(0d 0a)" .printf bootyaboot
|
|
Tato èást ji¾ spou¹tí polo¾ky menu podle stisknuté klávesy. Uprav ji podle klíèových slov (bootmate, bootleo...) a jejich písmen.
Poslední øádek v této èásti " "(0d 0a)" .printf morphos spustí MorphOS pokud zmáèkne¹ enter, nebo uplyne èas pro výbìr (default).
|
Upravené pro MorphOS a dal¹í
begin
key? if
key case
ascii l of " l "(0d 0a)" .printf bootyaboot endof
ascii t of " t "(0d 0a)" .printf bootmate endof
ascii x of " x "(0d 0a)" .printf bootleo endof
ascii m of " m "(0d 0a)" .printf morphos endof
endcase
then
dup get-msecs <
until
drop
" "(0d 0a)" .printf morphos
|
|
|
Jako poslední jsem vymìnil obsah tagu <OS-BADGE-ICONS> tuèòáka za motýlka Pic.2 (je v souboru bootinfo.txt).
|
<CHRP-BOOT>
<COMPATIBLE>
MacRISC MacRISC3 MacRISC4
</COMPATIBLE>
<DESCRIPTION>
MorphOS, OSX, PowerPC GNU/Linux BootMenu
</DESCRIPTION>
<BOOT-SCRIPT>
: .printf fb8-write drop ;
: bootyaboot " Booting Ubuntu..." .printf 100 ms load-base release-load-area " ultra0:2,\yaboot" $boot ;
: bootmate " Booting Mate..." .printf 100 ms load-base release-load-area " ultra0:2,\yaboot conf=ultra0:2,/yabootmate.conf" $boot ;
: bootleo " Booting Leopard..." .printf 100 ms load-base release-load-area " ultra1:3,\\:tbxi" $boot ;
: morphos " Booting MorphOS..." .printf 100 ms load-base release-load-area " ultra0:2,\boot.img ramdebug" $boot ;
" screen" output
variable interactive
1 interactive !
0 interactive @ = if
bootyaboot
then
dev screen
" "(0000000000aa00aa0000aaaaaa0000aa00aaaa5500aaaaaa)" drop 0 7 set-colors
" "(5555555555ff55ff5555ffffff5555ff55ffffff55ffffff)" drop 8 15 set-colors
device-end
f to foreground-color
0 to background-color
" "(0C)" .printf
" Welcome to S.D.I HQ"(0d 0a)" .printf
" "(0d 0a)" .printf
" Press l for LUbuntu LTS,"(0d 0a)" .printf
" t for Ubuntu Mate LTS,"(0d 0a)" .printf
" x for MacOSX Leopard,"(0d 0a)" .printf
" m for MorphOS (default)."(0d 0a)" .printf
" "(0d 0a)" .printf
" Stage 1 Boot: " .printf
get-msecs d# 10 3E8 * +
begin
key? if
key case
ascii l of " l "(0d 0a)" .printf bootyaboot endof
ascii t of " t "(0d 0a)" .printf bootmate endof
ascii x of " x "(0d 0a)" .printf bootleo endof
ascii m of " m "(0d 0a)" .printf morphos endof
endcase
then
dup get-msecs <
until
drop
" "(0d 0a)" .printf morphos
</BOOT-SCRIPT>
<OS-BADGE-ICONS>
1010
FFFF000000000000000000000000FFFF
FF0000000000000000A5F1000000F8FF
000000000000000000C1C7F5000000F8
00000000000000002BC1C19D000000F8
0000000000000000F8C19DC12A0000F8
0000000000000000F8C19797F50000F8
0000000000000000F7C1974F977200F8
0000000000000000F7C19090BAC100F8
0000F52BF7F82BF7DFC8B4B4BAC800F8
00ABC8C1C7C8C8C8C25D569EC1C100F8
00CFC1BB9DBB9796B47A00F52B0000F8
0000F6A4C1974F9090C1F500000000F8
000000004FF597BABABAF700000000F8
00000000000079BBC1C1F500000000F8
FFF8000000000000000000000000F8FF
FFFFF8F8F8F8F8F8F8F8F8F8F8F8FFFF
FFFFF7F7F7F7F7F7F7F7F7F7F7F7FFFF
FFF7F7F7F7F7F7F7F7ABF2F7F7F781FF
F7F7F7F7F7F7F7F7F7C8C8F7F7F7F781
F7F7F7F7F7F7F7F756C8C2A4F7F7F781
F7F7F7F7F7F7F7F7F9C89EC856F7F781
F7F7F7F7F7F7F7F7F9C8C29EF8F7F781
F7F7F7F7F7F7F7F7F9C89E7A9E79F781
F7F7F7F7F7F7F7F7F9C89797C1C2F781
F7F7F856F9F956F9FEC9BBBBC1C8F781
F7ABC8C2C8CFCFC8C981FAA4C8C8F781
F7CFC8C19EC29E97BBFAF7F856F7F781
F7F7F8A4C89E7A9797C8F7F7F7F7F781
F7F7F7F756F89EC1C1C156F7F7F7F781
F7F7F7F7F7F77AC2C2C2F7F7F7F7F781
FF81F7F7F7F7F7F7F7F7F7F7F7F781FF
FFFF818181818181818181818181FFFF
0000FFFFFFFFFFFFFFFFFFFFFFFF0000
00FFFFFFFFFFFFFFFFFFFFFFFFFFFF00
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
00FFFFFFFFFFFFFFFFFFFFFFFFFFFF00
0000FFFFFFFFFFFFFFFFFFFFFFFF0000
</OS-BADGE-ICONS>
</CHRP-BOOT>
|
|
Aby bylo mo¾né pøi startu spustit menu je potøeba soubor ofboot.b oznaèit programem HFSSetMacBoot Pic.5.
Pøi ka¾dé dal¹í zmìnì je nutné opìt pou¾ít program HFSSetMacBoot. Jednodu¹e v Shellu HFSSetMacBoot mujdisk:ofboot.b
Pokud chce¹ bootovat rovnou do MorphOS, zmìò v Open Firmware boot-command pøíkazem setenv boot-command boot hd:2,\bootinfo.txt
Výsledek zkontroluj pøíkazem printenv Pic.4, jestli je v¹e v poøádku napi¹ pøíkaz reset-all
Menu pak mù¾e¹ spustit pøi startu s podr¾ením klávesy "Option" (alt).
|
yaboot.conf
Soubor yaboot.conf je pøidán Linuxovým instalátorem na tvùj boot partition.
V pùvodním souboru yaboot.conf jsem opìt upravil cesty.
|
boot=/dev/sda2 "Linuxová" cesta k boot partitionu (první disk druhý partition).
device=ultra0: "Open Firmware" cesta k disku kde je nainstalovaný Linux (první disk).
partition=11 Partition kde je nainstalovaný Linux.
root=/dev/sda11 Disk a partition kde je root (první disk jedenáctý partition).
|
|
Pokud je parametr root= nad prvním parametrem image=,
bude brán jako defaultní a automaticky startuje po uplynutí èasu pro výbìr nebo po stisku klávesy enter.
Po stisku klávesy TAB se objeví nabídka Pic.7 kde si mù¾e¹ vybrat z dal¹ích mo¾ností.
|
## yaboot.conf generated by debian-installer
##
## run: "man yaboot.conf" for details. Do not make changes until you have!!
## see also: /usr/share/doc/yaboot/examples for example configurations.
##
## For a dual-boot menu, add one or more of:
## bsd=/dev/hdaX, macos=/dev/hdaY, macosx=/dev/hdaZ
boot=/dev/sda2
device=ultra0:
partition=11
root=/dev/sda11
timeout=100
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
enablecdboot
macosx=/dev/sdb3
image=/boot/vmlinux
label=Linux
read-only
initrd=/boot/initrd.img
append="nosplash"
image=/boot/vmlinux.old
label=old
read-only
initrd=/boot/initrd.img.old
append="nosplash"
image=ultra1:5,/boot/vmlinux
root=/dev/sdb5
label=LinuxMate
read-only
initrd=/boot/initrd.img
append="nosplash"
image=ultra1:5,/boot/vmlinux.old
root=/dev/sdb5
label=LinuxMateOld
read-only
initrd=/boot/initrd.img.old
append="nosplash"
|
|
Nakonec jsem pøidal LinuxMate (pokud si chce¹ je¹tì rozmyslet co bootovat),
který je na druhém disku. V tomto pøípadì musí být v parametru image= plná cesta a
parametr root= musí být zde (pod image=).
|
yabootmate.conf
Rovnou nabootuje do LinuxMate který je na druhém disku. Parametr boot= zùstává stejný, u ostatních je zmìna disku a partitionu. Je¹tì je sní¾en èas
v parametru timeout= (bootuje témìø ihned).
|
## yabootmate.conf Linux MATE
##
## run: "man yaboot.conf" for details. Do not make changes until you have!!
## see also: /usr/share/doc/yaboot/examples for example configurations.
##
## For a dual-boot menu, add one or more of:
## bsd=/dev/hdaX, macos=/dev/hdaY, macosx=/dev/hdaZ
boot=/dev/sda2
device=ultra1:
partition=5
root=/dev/sdb5
timeout=5
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
enablecdboot
macosx=/dev/sdb3
image=/boot/vmlinux
label=Linux
read-only
initrd=/boot/initrd.img
append="nosplash"
image=/boot/vmlinux.old
label=old
read-only
initrd=/boot/initrd.img.old
append="nosplash"
|
Dodatek
disky Open Firmware
hd:2 = první disk, druhý partition
ultra0:2 = první disk, druhý partition
ultra1:3 = druhý disk, tøetí partition
disky Linux
sda2 = první disk, druhý partition
sdb3 = druhý disk, tøetí partition
Linky
https://lists.ozlabs.org/pipermail/yaboot-users/2012-February/000238.html
https://manpages.debian.org/jessie/yaboot/yaboot.conf.5
|
| ghh don'tpanic |