ik heb ondertussen al het e.e.a. voor elkaar gekregen.
ik zal proberen het in de juiste volgorde te vertellen. ik heb alles minstens 2 keer moeten doen, omdat je volgens mij cum laude moet zijn afgestudeerd in theoretische natuurkunde voordat je een beetje wegwijs wordt met de linux command-line...
allereerst:
het partitioneren van de interne HD
ik heb hier eigenlijk exact de wijze gevolgd zoals
hier beschreven.
ik kwam er achter dat veel van de onderstaande commando's door
sudo moeten worden voorafgegaan. mocht je foutmeldingen zien (
permission denied, bijvoorbeeld), zou je dit er dus voor moeten zetten.
code:
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
| # zero /dev/sda first or pre-existing guid will not change
dd if=/dev/zero of=/dev/sda bs=4096 count=1M
# create initial gpt structures
parted -s /dev/sda mklabel gpt
# find max size of disk (see Disk /dev/sda: XXXMB from listing)
parted -s /dev/sda print
# mine reports "Disk /dev/sda: 20.0GB" so that is our ending point
# create a 25MB "EFI" partition (starting at sector 40 is important)
parted -s /dev/sda mkpart primary fat32 40s 25M
parted -s /dev/sda set 1 boot on
# create a 25MB "Recovery" partition
parted -s /dev/sda mkpart primary HFS 25M 50M
parted -s /dev/sda set 2 atvrecv on
# create a 25MB "OSBoot" partition
parted -s /dev/sda mkpart primary HFS 50M 75M
#create the linux root partition
parted -s /dev/sda mkpart primary ext3 75M 18.9GB
#create the linux swap partition
parted -s /dev/sda mkpart primary linux-swap 18.9GB 20.0GB
# sync the system partition tables
partprobe /dev/sda
# verify the partitions
parted -s /dev/sda print
# you should see something similar (note boot and atvrecv flags)
Model: IC25N020 ATDA04-0 (scsi)
Disk /dev/sda: 20.0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 20.5kB 25.0MB 25.0MB primary boot
2 25.0MB 50.0MB 25.0MB primary atvrecv
3 50.0MB 75.0MB 25.0MB primary
4 75.0MB 18.9GB 18.8GB primary
5 18.9GB 20.0GB 1104MB primary
# format the partitions
# we will let the LiveCD install setup swap
mkfs.msdos -F 32 -n EFI /dev/sda1
mkfs.hfsplus -v Recovery /dev/sda2
mkfs.hfsplus -v OSBoot /dev/sda3
mkfs.ext3 -b 4096 -L Linux /dev/sda4
sync |
nu ik er over nadenk, valt me net op dat ik de atv-bootloader niet heb geïnstalleerd. dat verklaart wellicht het niet automatisch booten van ubuntu
installeer atv-bootloader:
code:
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
| # download recovery files
wget http://atv-bootloader.googlecode.com/files/recovery-0.6.tar.gz
tar -xzf recovery-0.6.tar.gz
# make some mount points
mkdir /mnt/osboot /mnt/recovery
# mount the partitions
fsck.hfsplus /dev/sda2
mount /dev/sda2 /mnt/recovery
fsck.hfsplus /dev/sda3
mount /dev/sda3 /mnt/osboot
# copy atv-bootloader over
cp -arp recovery/* /mnt/osboot/
cp -arp recovery/* /mnt/recovery/
# remember to copy boot.efi,
# grab it from the atv-bootloader USB flash disk
mkdir tmp
mount /dev/sdb1 tmp
cp -ap tmp/boot.efi /mnt/osboot
cp -ap tmp/boot.efi /mnt/recovery |
installeren van ubuntu 8.0.4 hardy
nog een procedure die ik 3 keer heb moeten doorlopen totdat het me lukte, maar dat terzijde...
ik heb er voor gekozen om een netboot install te doen. hiervoor kopieer je 2 bestanden naar je usb "patch stick".
eerst moet je de netboot bestanden downloaden en uitpakken:
code:
1
2
3
| http://us.archive.ubuntu.com/ubuntu/dists/hardy/main/installer-i386/current/images/netboot/netboot.tar.gz
tar -xzf newboot.tar.gz |
...en dan kopiëren naar de usb-stick:
code:
1
2
3
4
5
6
7
8
| mkdir penboot
mount /dev/sdb1 penboot
cp ubuntu-installer/i386/linux penboot/
cp ubuntu-installer/i386/initrd.gz penboot/
umount penboot |
nu kun je de appleTV booten met de patchstick. als deze is opgestart kun je met telnet verbinding maken met je aTV. de aTV moet wel bedraad verbonden zijn aan het netwerk, draadloos werkt dus niet.
je logt in met user: root en wachtwoord: root
als je verbonden en ingelogd bent, doe je het volgende:
code:
1
2
3
4
5
6
7
| mkdir tmp
mount /dev/sdb1 tmp
kexec --load tmp/linux --initrd=tmp/initrd.gz --command-line="vga=normal vesa video=vesafb"
kexec -e |
na enkele seconden begint het installatieproces van ubuntu. als je eenmaal gevraagd wordt welke taal je wilt installeren kun je de patchstick er uit halen en een usb keyboard aansluiten. (of een hub natuurlijk...)
het enige dat van belang is, is het installeren op de juiste partities.
de handleidingen zeggen het volgende:
remember to install to /dev/sda4 with swap at /dev/sda5
mij was het niet helemaal duidelijk hoe dit te regelen was. tijdens de ubuntu installatie heb je de keuze uit 4 (of 5) verschillende opties om de harde schijf te partitioneren.
ik heb de handmatige manier gekozen, de begeleide opties (de andere 4) deden niet wat ik wilde of waren niet duidelijk genoeg.
let er dus op dat je linux bootpartitie op partition#4 van sda zet en de swap op #5. ook moet je nog de bootpartitie als zodanig 'aanzetten' -> dat was iets met "/" als flag neerzetten, maar misschien dat iemand die verstand van linux heeft daar iets zinnigers van kan maken.
de broadcom 70012 driver
eerst heb ik de linux driver voor de broadcom kaart
hier gedownload.
daarna is het nodig het systeem hiervoor 'voor te bereiden':
en met deze commando's heb je zeker te weten sudo rechten nodig.
code:
1
2
3
4
5
6
7
8
9
10
11
12
| aptitude install build-essential unrar
unrar e bcm70012_linux_01142009.rar
cd bcm70012_linux_01142009
mv bcm70012_linux_01142009 bcm70012_linux_01142009.tar
tar xf bcm70012_linux_01142009.tar
dpkg -i bcm70012kmod-source_0.9.30_all.deb
apt-get -f install
dpkg -i bcm70012kmod-source_0.9.30_all.deb
cd /usr/src/
m-a -t a-i bcm70012kmod
cd -
dpkg -i --force-all gst-broadcom-70012_0.9.30_lpia.deb |
compilen van XBMC en de crystalHD decoder
voor het compilen van XBMC heb ik letterlijk
deze guide gevolgd.
downloaden van de XBMC branch:
code:
1
2
| svn co -r 22347 https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/xdmx/XBMC/xbmc/lib/
svn co -r 25101 https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/crystalhd |
systeem voorbereiden:
code:
1
2
3
| mkdir /usr/include/crystalhd
cp -a lib/crystalhd/include/* /usr/include/crystalhd
cp /usr/include/crystalhd/windows/bc_drv_if.h /usr/include/crystalhd/bc_ldil_if.h |
daarna moet je een regel (nr.59) uitcommentariëren uit een bestand:
/usr/include/crystalhd/bc_dts_types.h
ik heb hiervoor (volgens mij) het volgende gedaan:
code:
1
| pico /usr/include/crystalhd/bc_dts_types.h |
het kan zijn dat ik i.p.v.pico, nano heb gebruikt. het was al laat

voor deze zin (regel 59) moeten dus twee forward slashes komen te staan:
typedef void VOID;
wordt:
//typedef void VOID;
nu moeten de crystalHD bestanden worden gekopieerd naar XBMC map:
code:
1
| cp -a /usr/include/crystalhd crystalhd/xbmc/lib/ |
nu kan source van de driver worden gedownload en gebuild worden:
code:
1
2
3
4
5
6
7
8
9
| wget http://www.norco.net.cn/UpLoadFile/Driver/bcm70012_linux_01142009.rar
unrar e bcm70012_linux_01142009.rar
tar xf bcm70012_linux_01142009
dpkg -i bcm70012kmod-source_0.9.30_all.deb
apt-get -f install
dpkg -i bcm70012kmod-source_0.9.30_all.deb
cd /usr/src/
m-a -t a-i bcm70012kmod
cd - |
nog een stap waarvan ik niet weet wat het precies doet, maar het staat in de guide:
code:
1
| dpkg -i --force-all gst-broadcom-70012_0.9.30_lpia.deb |
volgens mij doen we nu alle dependencies die nodig zijn voor het compilen ophalen:
code:
1
| sudo aptitude install subversion make g++ gcc gawk pmount libtool nasm automake cmake gperf unzip bison libsdl-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libfribidi-dev liblzo2-dev libfreetype6-dev libsqlite3-dev libogg-dev libasound-dev python-sqlite libglew-dev libcurl3 libcurl4-openssl-dev x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmad0-dev libogg-dev libvorbis-dev libsmbclient-dev libmysqlclient-dev libpcre3-dev libdbus-1-dev libhal-dev libhal-storage-dev libjasper-dev libfontconfig-dev libbz2-dev libboost-dev libfaac-dev libenca-dev libxt-dev libxtst-dev libxmu-dev libpng-dev libjpeg-dev libpulse-dev mesa-utils libcdio-dev libsamplerate-dev libmms-dev libmpeg3-dev libfaad-dev libflac-dev libiso9660-dev libass-dev libssl-dev |
nu moet er ook nog een libmms, die verouderd is, handmatig worden gecompiled:
code:
1
2
3
4
5
6
| wget "http://launchpad.net/libmms/trunk/0.4/+download/libmms-0.4.tar.gz"
tar zxvf libmms-0.4.tar.gz
cd libmms-0.4
./configure --prefix=/usr
make
sudo make install |
ik kreeg foutmeldingen dat FONTCONFIG niet gevonden kon worden. na een tip bleek dat wanneer je zo'n melding krijgt, je het volgende kan doen:
code:
1
| apt-cache search fontconfig | grep dev |
dit zorgt ervoor dat je de ontbrekende libs alsnog op kunt halen.
zo, en nu moet de aTV echt aan het werk. de laatste stap is het compilen van XBMC.
cd naar de crystalhd map (crystalhd/xbmc/lib/) en doe het volgende:
code:
1
2
3
4
| ./bootstrap
./configure
make
make install |
de een na laatste "make" duurt erg lang.
ok. tot zover ben ik dus gekomen. ubuntu werkte prima,
nadat ik de aTV rebootte zag ik alleen het welbekende knipperende vraagteken. geen automatisch opstarten van linux dus.
dit ligt waarschijnlijk omdat ik het bestand
boot_linux.sh niet heb aangepast.
schijnbaar moet dit er aan aangepast worden:
code:
1
2
3
4
| mount /dev/sda4 /tmp/
kexec --load /tmp/vmlinuz --initrd=/tmp/initrd.img --command-line="root=/dev/sda4 initrd=initrd.img vga=normal vesa video=vesafb"
umount /tmp/
kexec -e |
maar dit krijg ik niet voor elkaar...
mocht er iemand interesse hebben dit ook te doen, lees de tutorials goed door, dat bespaart je wellicht een paar uur tijd

toevoegingen en correcties zijn natuurlijk altijd welkom!
[
Voor 42% gewijzigd door
Nerpissad op 19-12-2009 21:03
]