Chameleon

Chameleon Commit Details

Date:2010-06-04 11:42:28 (13 years 9 months ago)
Author:Tamás Kosárszky
Commit:168
Parents: 167
Message:Moved efisysinst.sh to i386/boot1 as boot1f32-install.sh and removed checking for boot0. Changed doc/README to promote using fdisk440.
Changes:
D/trunk/efisysinst.sh
A/trunk/i386/boot1/boot1f32-install.sh
M/trunk/doc/README

File differences

trunk/efisysinst.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/sh
# efisysinst.sh
#
#
# Created by mackerintel on 2/2/09.
# Copyright 2009 mackerintel. All rights reserved.
if [[ x$1 == x ]]; then
echo Usage: $0 disknumber;
exit 0;
fi
if [[ `dd if=/dev/disk${1}s1 count=8 bs=1 skip=82 | uuencode -m -|head -n 2|tail -n 1` != "RkFUMzIgICA=" ]]; then
echo "/dev/disk${1}s1" "isn't" a FAT32 partition;
exit 1;
fi
if [ ! -f boot1f32 ]; then
echo "boot1f32 not found";
exit 1;
fi
if [ ! -f boot0 ]; then
echo "boot0 not found";
exit 1;
fi
dd if=/dev/disk${1}s1 count=1 bs=512 of=/tmp/origbs
cp boot1f32 /tmp/newbs
dd if=/tmp/origbs of=/tmp/newbs skip=3 seek=3 bs=1 count=87 conv=notrunc
dd of=/dev/disk${1}s1 count=1 bs=512 if=/tmp/newbs
dd if=boot0 of=/dev/disk${1} count=430 bs=1
trunk/doc/README
1818
1919
2020
21
22
21
2322
2423
2524
......
3130
3231
3332
34
33
3534
3635
3736
......
5251
5352
5453
55
56
54
55
5756
5857
5958
......
6665
6766
6867
69
70
71
72
73
74
7568
76
7769
7870
7971
......
9385
9486
9587
96
97
- automatic FSB detection code even for recent AMD CPUs.
- Apple Software RAID support.
- stage2 loader (boot) can be placed as a regular file in the boot
partition's root folder. It has precedence over the embedded
startupfile.
partition's root folder.
Installation
Suppose that your installation is on /dev/disk0s2
- Install boot0 to the MBR:
sudo fdisk -f boot0 -u -y /dev/rdisk0
sudo ./fdisk440 -f boot0 -u -y /dev/rdisk0
- Install boot1h to the partition's bootsector:
sudo dd if=boot1h of=/dev/rdisk0s2
namely /dev/disk0s3 and /dev/disk1s3
- Install boot0 to the MBR of both disks:
sudo fdisk -f boot0 -u -y /dev/rdisk0
sudo fdisk -f boot0 -u -y /dev/rdisk1
sudo ./fdisk440 -f boot0 -u -y /dev/rdisk0
sudo ./fdisk440 -f boot0 -u -y /dev/rdisk1
- Install boot1h to the bootsector of each boot partition:
sudo dd if=boot1h of=/dev/rdisk0s3
diskutil mount disk1s3
cp boot /Volumes/Boot\ OSX
diskutil unmount disk1s3
- Add "rd=uuid boot-uuid=506D8F03-0596-32D8-BE0B-E3A4E7D5C72A" to your kernel flags
(replace with your root volume's UUID; find out using "Disk Utility.app", right
click on your root volume, then Get Info"):
nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
touch /System/Library/Extensions
Support:
--------
Chameleon is released under the terms and conditions of
Apple Public Source License (see APPLE_LICENSE).
To use "Chameleon" for commercial purposes please contact us at:
http://chameleon.osx86.hu/contact
trunk/i386/boot1/boot1f32-install.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh
# boot1f32-install.sh
#
# Created by mackerintel on 2/2/09.
# Copyright 2009 mackerintel. All rights reserved.
if [[ x$1 == x ]]; then
echo Usage: $0 disknumber;
exit 0;
fi
if [[ `dd if=/dev/disk${1}s1 count=8 bs=1 skip=82 | uuencode -m -|head -n 2|tail -n 1` != "RkFUMzIgICA=" ]]; then
echo "/dev/disk${1}s1" "isn't" a FAT32 partition;
exit 1;
fi
if [ ! -f boot1f32 ]; then
echo "boot1f32 not found";
exit 1;
fi
dd if=/dev/disk${1}s1 count=1 bs=512 of=/tmp/origbs
cp boot1f32 /tmp/newbs
dd if=/tmp/origbs of=/tmp/newbs skip=3 seek=3 bs=1 count=87 conv=notrunc
dd of=/dev/disk${1}s1 count=1 bs=512 if=/tmp/newbs

Archive Download the corresponding diff file

Revision: 168