wiki:AlixAPU

Version 29 (modified by rick, 9 years ago) ( diff )

--

Getting started with PCEngies APU system board

Het PCEngines APU board is voorzien van een opensource Coreboot bios.
Verstandig is om deze te flashen met de laatste versie van de PC Engines website.
De standaard serieele settings van het boardje zijn 115200 Baud, 8 bits, 1 stopbit en no-parity. Deze kunnen helaas niet worden veranderd.

Het is mogelijk om een MiniPCI express SSD te plaatsen voor het operating systeem maar wij kiezen voor een SD kaart om op deze manier een MiniPCI express slot te besparen voor het plaatsen van een Wifi kaart of extra ethernet poorten. We hebben een aantal SD_kaarten getest op lees en schrijf snelheid.

Updated Bios

Het updaten ook wel flashen van de BIOS kan op een aantal manieren. De makkelijkste manier is het maken van een opstartbare usb stick of sd kaart. Hieronder wordt beschreven hoe deze kan worden gemaakt op verschillende besturings systemen, gevolgd door het werkelijke flashen van de BIOS.

MAC OSX

De website van PC engines is erg kort met de uitleg hoe een bootable disk te maken is om hiermee de BIOS te updated. Met een beetje zoeken op internet is het gelukt door onderstaande uit te voeren op de commandline.

Download via de website van Gooze de kant en klare image die op de USB stick / SD card. kan worden gezet. Deze bevat niet de meest recente BIOS versie van PC engines en deze zullen we ook moeten downloaden om later te gebruiken.

In het voorbeeld hieronder wordt de image gemaakt op een SD card.

  • Plaats de SD kaart in reader en bekijk welke disk het is door (in mijn geval /dev/disk2)
$ diskutil list

De SD kaart moet worden gewist / nieuwe partitionering met FAT file system. Eenvoudig is dit te doen met de 'Disk Utility' die standaard in OSX is geinstalleerd.

  • Start 'Disk Utility'
  • Click op de SD card aan de linker kant
  • Click op 'Partition' aan de rechter kant
  • Click op "Options" en selecteer 'Master Boot Record'
  • Selecteer '1 Partition' onder het kopje "Partition Layout:"
  • Kies uit "Format:" de optie 'MS-DOS (FAT)'
  • Klik op 'Apply' en wacht eventjes.

De disk is nu leeg en voorzien van een FAT file system en kan deze disk 'Bootable' worden gemaakt' door de Boot flag aan te zetten.

$ diskutil list
$ diskutil unmountdisk /dev/disk2

$ sudo fdisk -e /dev/disk2
  flag 1
  write 
  quit

$ diskutil umountdisk /dev/disk2

Nu moet de SD kaart worden voorzien van Tinylinux om de APU de laten opstarten en voorzien van de laatste versie van de BIOS. Op het moment van schrijven is de laatste versie van APU nog in BETA (apu140908.rom). Productie versie is (apu140405.rom)

$ cd ~/Downloads
$ curl -L -O http://download.gooze.eu/embedded/pcengines/apu/apu-tinycore-20140327.tar.gz
$ curl -L -O http://pcengines.ch/file/apu_tinycore.tar.bz2
$ curl -L -O http://pcengines.ch/file/apu140405.zip
$ tar -xzf apu-tinycore-20140327.tar.gz
$ gunzip apu_tinycore.tar.bz2
$ unzip apu140405.zip

$ sudo dd if=apu-tinycore-20140327.img of=/dev/disk2 bs=64k

Het schrijven van de image naar de SD kaart kan eventjes duren. Vervolgens zetten we de apu_tinycore versie van PCengines en de laatste versie van APU bios op de SD kaart.

$ cd /Volumes/SYSLINUX/
$ tar -xvf ~/Downloads/apu_tinycore.tar
$ cp ~/Downloads/apu140405.rom /Volumes/SYSLINUX/
$ diskutil umountdisk /dev/disk2

De disk is nu gereed om in de APU geplaatst te worden en het boardje aan te zetten.

Bekijken van de informatie van het boardje doen we via de Serieeleport (USB to Serial kabeltje). In mijn geval is dit poort 'tty.usbserial-FTF6RNL3'

$ sudo cu -l /dev/tty.usbserial-FTF6RNL3 -s 115200

Als Tinylinux is opgestart dan geven we onderstaande opdracht op de commandline om versie 140405 van de BIOS flashen op het bordje.

[+41.0 C][root@box:/mnt/sda1]$ flashrom -w apu140405.rom

De output van het automatisch flashen van de BIOS zal er ongeveer zo uitzien als op deze pagina AlixAPU_biosupdate2

Linux

The MBR partition table on the SD card should contain one bootable FAT32 partition. Use fdisk, cdisk or sfdisk to create this scheme. Some examples of a SD card located in /dev/sdc.

Warning: If you do not know what you are doing here you should NOT do it or accept the risk of potentially loosing ALL your data including those of the host system.

$ sudo fdisk -l /dev/sdc 

Disk /dev/sdc: 1.9 GiB, 2002780160 bytes, 3911680 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start   End Sectors Size Id Type
/dev/sdc1  *     2048 53247   51200  25M  b W95 FAT32

You can use sfdisk to do it directly.

$ cat <<EOF | sudo sfdisk /dev/sdc

# partition table of /dev/sdc
unit: sectors

/dev/sdc1 : start=     2048, size=    51200, Id= b, bootable
/dev/sdc2 : start=        0, size=        0, Id= 0
/dev/sdc3 : start=        0, size=        0, Id= 0
/dev/sdc4 : start=        0, size=        0, Id= 0
EOF

Format as FAT32 partition:

$ sudo mkfs.vfat /dev/sdc1

Install the syslinux bootloader:

$ sudo dd if=/usr/share/syslinux/mbr.bin of=/dev/sdc
$ sudo syslinux --install /dev/sdc1

Mount partition and copy PC Engines TinyCore image on it:

$ sudo mount /dev/sdc1 /mnt
$ curl -o /tmp/apu_tinycore.tar.bz2 http://www.pcengines.ch/file/apu_tinycore.tar.bz2
$ sudo tar -C /mnt /tmp/apu_tinycore.tar.bz2
$ sudo umount /mnt

Image completed, boot image and follow instructions to update firmware.

Building WLnode Image

Het bouwen een Wireless-leiden Node image wordt beschreven deze FreeBSD10_Guide pagina. Bijna alles gaat hetzelfde voor een APU boardje als voor een ALIX2 of Soekris met dit verschil dat er een andere configuratie en kernel file moeten worden gebruikt.

Het stukje waarin het bouwen van de Image wordt gestart FreeBSD10_Guide is iets anders.
Hiervoor in de plaats moet onderstaande commando worden uitgevoerd:

$ sh /usr/src/tools/tools/nanobsd/nanobsd.sh -c $R/cfg/nanobsd.wleiden.apu 

De rest is precies hetzelfde.

Linux

eddie@eddie-laptop:~$ cd ~/Downloads/ eddie@eddie-laptop:~/Downloads$ wget bhttps://www.kernel.org/pub/linux/utils/boot/syslinux/6.xx/syslinux-6.03.zip

http://www.wonkity.com/~wblock/docs/html/ssd.html
http://blog.hackathon.de/installing-freebsd-10-on-an-alix-apu1c4.html

Note: See TracWiki for help on using the wiki.