APU2C2Debian
Tento návod pojednává o instalaci OS Debian (bez grafického rozhraní) na PCEngines APU, typ 2C2 (druhá generace APU)
Obsah
Příprava HW
- 1x PCEngines APU 2C2 (případně 2B2), jde o desku s 1GHz quad-core embedded CPU s architekturou AMD64, konkrétně AMD G series GX-412TC, s 2GB nebo 4GB RAM, podrobné info: [1]
- 1x mSATA SSD disk, sám výrobce doporučuje disk Phison 16GB [2]
- 1x 12V zdroj, alesoň 1,5A, samotný APU má spotřebu 6-10W v závislosti na vytížení CPU, výkonová rezerva je tam kvůli perifériím (disk, USB flash, miniPCIe karta, apod.)
- 1x case, který slouží zároveň jako chladič, APU lze provozovat i bez něj, ale jen v krátkých intervalech, kdy nebude zatížen CPU
- 1x flash disk, alespoň 1GB
Sestavení chlazení je zde:
Příprava iso image
Tato část vykládá o vytvoření instalačního image, které se nahraje na flash disk a bude se z něj v APU instalovat systém. Budeme k tomu potřebovat stroj s linuxem a připojení k internetu. předpoklad je, že všechno dělám jako root. Postup:
- vytvoříme si pracovní adresáře, kde budeme manipulovat s daty
mkdir deb-serial
cd deb-serial
- stáhneme si nejnovější iso image debianu formu "netinst", architektura AMD64
wget http://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-8.5.0-amd64-netinst.iso -O debian-amd64-netinst.iso
pozn. je třeba mít nějakou novější instalaci, s verzí 8.3 to údajně nefunguje, APU2C2 je v době psaní návodu na trhu 2 měsíce, jde tedy o hodně nový kus HW
- vytvoříme adresář pro rozbalení image a připojíme pomocí loop stažený image do adresáře
mkdir old
mkdir new
mount -o loop debian-amd64-netinst.iso old
- zkopírujeme veškeré soubory z instalačního image do nové složky abychom je mohli upravit podle toho jak budeme potřebovat (shopt -s dotglob má zajistit, že se budou kopírovat i skryté soubory)
shopt -s dotglob
cp -rv old/* new/
- nyní potřebujeme upravit soubory boot loaderu isolinux/syslinux, tak abychom mohli se systémem pracovat přes seriovou konzoli
nano new/isolinux/isolinux.cfg
nano new/isolinux/txt.cfg
nano new/isolinux/adtxt.cfg
- obsah souborů má být takovýto:
isolinux.cfg:
# D-I config version 2.0
# search path for the c32 support libraries (libcom32, libutil etc.)
serial 0 115200
console 0
path
include menu.cfg
#default vesamenu.c32
#prompt 0
#timeout 0
###########################################
txt.cfg:
default install
label install
menu label ^Install
menu default
kernel /install.amd/vmlinuz
append vga=off console=ttyS0,115200n8 initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8
###########################################
adtxt.cfg:
label expert
menu label ^Expert install
kernel /install.amd/vmlinuz
append priority=low vga=off console=ttyS0,115200n8 initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8
include rqtxt.cfg
label auto
menu label ^Automated install
kernel /install.amd/vmlinuz
append auto=true priority=critical vga=off console=ttyS0,115200n8 initrd=/install.amd/initrd.gz --- console=ttyS0,115200n8
###########################################
- dále z upravené instalaci vytvoříme zpět iso image, na debianu 8 k tomu budeme potřebovat pár aplikací:
apt-get install debootstrap squashfs-tools syslinux isolinux syslinux-common xorriso
- image vytvoříme takto:
xorriso -as mkisofs -r -J -joliet-long -l -cache-inodes -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin -partition_offset 16 -A "Debian8.2" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-serial-install.iso ./new/
Umístění souboru isohdpfx.bin se může lišit podle verze isolinux, je proto lepší si potvrdit, že je opravdu tam kde být má: updatedb; locate isohdpfx.bin
- vytvoření image nahrajeme na flshku, místo /dev/sdX se zadá skutečná cesta k flashce
dd if=debian-serial-install.iso of=/dev/sdX bs=1k
- to je vše, můžeme přejít k instalaci na APU
Již připravený image je zde debian-8.5-for-APU-serial-install.iso ,ale netvrdím že tem zůstane napořád
připojení k APU přes sériový port
v této části návodu je popis jak propojit PC s APU pomocí sériového portu Potřebujeme PC, které má sériový port, případně USB-RS232 převodník a NULL MODEM sériový kabel Postup je následující:
- PC a APU propojíme sériovým kabelem
- v PC nalezneme ten správný sériový port, bude jich přítomno nejspíše několik - /dev/ttySx, kde x je pořadové číslo portu, který je ten správný můžeme rychle zjistit příkazem concatenate (cat)
cat /dev/ttyS0
- když zapneme APU mělo by se na konzoli něco začít vypisovat i když by byl port nastaven nesprávně měl by vypisovat alespoň "nějaké nesmysly", pokud je to nesprávný port, nebude vypisovat nic, přes příkaz cat bude komunikace vždy jen jednosměrná, přejdeme tedy k programu, který umí komunikovat obousměrně
- pro komunikaci použijeme aplikaci screen nebo minicom, nebo jiný program, který to umí a nastavíme ho tak, aby byla sériová linka nastavena na tyto parametry (jak danou aplikaci nastavit není cílem tohoto návodu):
datový tok: 115200 b/s datových bitů: 8 stop bit: 1 parita: ne SW/HW flow control: ne klasický jednořádkový zápis: 115200 8N1
instalace z flash disku
Tato část návodu pojednává o instalaci OS z flash disku
- zasuneme námi připravenou flash do APU a zapneme ho, na konzoli bychom měli vidět informace vypisované BIOSem, poté by měl začít bootovat z flash, případně se pomocí klávesy F10 dá vyvolat boot menu, pokud chceme boot z flash vynutit ručně, APU nemá BIOS s grafickým rozhraním, nelze tedy do něj vlézt a něco nastavovat kromě pořadí boot zařízení.
pokud nejde zařízení ovládat je nejspíše nějak špatně nastavený sériový port, případně je něco špatně s kabelem - není to NULL MODEM, případně je poškozený apod.
- Nyní máme před sebou klasickou instalaci debianu, jako je tomu u běžného PC nebo virtuálu (popis instalace debianu není cílem tohoto návodu).
- Když máme instalaci za sebou, vyjmeme flashku a necháme systém restartovat, posléze by měl naběhnout do přihlašovacího dialogu
- abychom nemuseli systém ovládat přes sériový port nainstalujeme openssh server a nastavíme mu ip adresu
- do /etc/network/interfaces zadat/přidat něco takového:
auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
- nainstalovat ssh server:
apt-get update
apt-get install openssh-server
- a restartovat
- po bootu by měl APU být dostupný přes SSH na portu eth1 (ten prostřední ethernet port)