Chameleon

Chameleon Svn Source Tree

Root/branches/meklort/efisysinst.sh

Source at commit 337 created 13 years 9 months ago.
By azimutz, Start "search algo" related stuff. This was what motivated me initially to look at Chameleon code with learning eyes. I had two problems: - the booter "always" checks selected volume for drivers, invalidating any drivers on rescue media. - the other is the Boot.plist override (loadOverrideConfig) that i was completely unaware of, until i checked the code. So, this was the first stuff that i came up with: - CanOverride=n disables overriding of the default Boot.plist (it doesn't stop the file from loading). - Extensions=/path-to-folder/ loads drivers from an alternate folder. The drives override key only got this format after i found the dsdt search also on search_and_get_acpi_fd; when i first added it was when i found that the selected volume drivers were always loaded :)
1#!/bin/sh
2
3# efisysinst.sh
4#
5#
6# Created by mackerintel on 2/2/09.
7# Copyright 2009 mackerintel. All rights reserved.
8
9if [[ x$1 == x ]]; then
10echo Usage: $0 disknumber;
11exit 0;
12fi
13
14if [[ `dd if=/dev/disk${1}s1 count=8 bs=1 skip=82 | uuencode -m -|head -n 2|tail -n 1` != "RkFUMzIgICA=" ]]; then
15echo "/dev/disk${1}s1" "isn't" a FAT32 partition;
16exit 1;
17fi
18
19if [ ! -f boot1f32 ]; then
20echo "boot1f32 not found";
21exit 1;
22fi
23if [ ! -f boot0 ]; then
24echo "boot0 not found";
25exit 1;
26fi
27dd if=/dev/disk${1}s1 count=1 bs=512 of=/tmp/origbs
28cp boot1f32 /tmp/newbs
29dd if=/tmp/origbs of=/tmp/newbs skip=3 seek=3 bs=1 count=87 conv=notrunc
30dd of=/dev/disk${1}s1 count=1 bs=512 if=/tmp/newbs
31dd if=boot0 of=/dev/disk${1} count=430 bs=1
32

Archive Download this file

Revision: 337