PC Engines (Polski)

PC Engines
jest szwajcarskim producentem sprzętu dla wbudowanych urządzeń x86.
apu2c4
Ten artykuł opisuje jak zainstalować Arch Linuxa na dysku SSD używając karty SD lub pamięci USB.
Sprzęt
CPU: Seria AMD Embedded G GX-412TC, 1 GHz czterordzeniowy Jaguar 64 bit
RAM: 4GB DRAM z obsługą ECC
Note
Najpierw wykręć śruby z portu szeregowego!
Złóż urządzenie z ostrożnością i przeczytaj
poradnik dotyczący systemu chłodzenia
!
Przygotowania do instalacji
Potrzebujesz szeregowego (RS-232) połączenie do APU, aby nim sterować.
Dodaj twojego użytkownika do grupy
uucp
.
Zainstaluj
picocom
lub coś podobnego. Zobacz
Working with the serial console#Making Connections
.
Pobierz
i
zweryfikuj
obraz instalacyjny.
Uruchom system
Aby wyświetlić BIOS, użyj tego polecenia:
$ LANG=C picocom --baud 115200 /dev/ttyUSB0
W przypadku gdy twoje urządzenie nie uruchamia obrazu z karty SD ani z pamięci USB, naciśnij klawisz
F10
podczas uruchomiania, aby wyświetlić menu rozruchowe.
Następnie zamknij picocom za pomocą
Ctrl+a
Ctrl+q
Podłącz się do GRUBa z Archiso:
$ LANG=C picocom --baud 38400 /dev/ttyUSB0
Wejdź w tryb CLI poprzez naciśnięcie
Tab
i dodaj następujący parametr jądra do wiesza poleceń:
console=ttyS0,115200
Naciśnij
Enter
.
Teraz zamknij picocom i połącz się ponownie za pomocą pierwszego polecenia, aby zmienić prędkość transmisji na 115200.
Następnie musisz poczekać przez około 30 sekund, po czym wyświetli się kolorowa powłoka uruchomieniowa (ang.
boot prompt
).
Zainstaluj system
Najbardziej komfortowym sposobem instalowania Archa jest uruchomienie serwera SSH i skorzystanie z
poradnika instalacyjnego
.
Możesz potrzebować nowego adresu IP. Da się to zrobić używając
dhclient
oraz
włączając
sshd.service
.
Jeden z możliwych układów dysku SSD może wyglądać następująco:
/dev/sda1           2048   264191   262144  128M 83 Linux
 /dev/sda2         264192 25430015 25165824   12G 83 Linux
 /dev/sda3       25430016 31277231  5847216  2.8G 82 Linux swap / Solaris
Dobrym pomysłem jest używanie układu MBR z
GRUBem
:
# grub-install --target=i386-pc /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg
Jeżeli używasz
Syslinux
, upewnij się, aby przekazać opcję
console
do menu rozruchowego:
/boot/syslinux/syslinux.cfg
LABEL arch
    MENU LABEL Arch Linux
    LINUX ../vmlinuz-linux
    APPEND root=UUID=1ef5a2eb-1908-4929-9b91-f6c4183695ac rw console=ttyS0,115200
    INITRD ../initramfs-linux.img
Zobacz także
Working with the serial console#Configure console access on the target machine
.
Pamiętaj, aby usunąć kartę SD bądź pamięć USB po zakończeniu instalacji.
Sterowanie diodami LED
Podczas gdy istnieją dwa mainlinowe sterowniki (
leds-apu
oraz
pcengines-apuv2
), które mogą sterować LEDami na różnych modelach APU, jeżeli używasz mainlinowe
oprogramowanie PC Engines
,
zalecane jest
, aby pozwolić ACPI na kontrolę diod. W połączeniu z modułem
ledtrig_netdev
, diody APU mogą być sterowane poprzez następujące wpisy sysfs:
/sys/class/leds/apu2:green:led1
/sys/class/leds/apu2:green:led2
/sys/class/leds/apu2:green:led3
Obsługa modułów
Należy
ręcznie wczytać
ledtrig_netdev
. Możesz również umieścić
leds_apu
oraz
pcengines-apuv2
na
czarnej liście modułów
.
Przykładowa konfiguracja
Typowym przypadkiem użycia jest wykorzystywanie APU jako bezprzewodowego
routera
. W tym przypadku jedna karta sieciowa (
wan0
) jest podłączona do upstreamu, do dostawcy usług internetowych, a pozostałe karty sieciowe (przewodowe i bezprzewodowe) są
zmostkowane
(
br0
) ze sobą jako sieć lokalna. Typowa konfiguracja diod używając wyzwalacza
netdev
może wyglądać następująco:
LED1: wskaźnik zasilania
LED2: wskaźnik ruchu sieciowego do dostawcy usług
LED3: wskaźnik ruchu w sieci lokalnej (br0)
Aby używać tej konfiguracji:
echo "1" > /sys/class/leds/apu2:green:led1/brightness
echo "netdev" > /sys/class/leds/apu2:green:led2/trigger
echo "wan0" > /sys/class/leds/apu2:green:led2/device_name
echo "1" > /sys/class/leds/apu2:green:led2/tx
echo "1" > /sys/class/leds/apu2:green:led2/rx
echo "netdev" >  /sys/class/leds/apu2:green:led3/trigger
echo "br0" >  /sys/class/leds/apu2:green:led3/device_name
echo "1" >  /sys/class/leds/apu2:green:led3/tx
echo "1" >  /sys/class/leds/apu2:green:led3/rx
Note
Zapisywanie do wpisu sysfs
trigger
musi być pierwsze, ponieważ włącza to inne wpisy (
device_name
,
tx
oraz
rx
).
Tip
Zobacz jakie wyzwalacze są obsługiwane przez aktualnie załadowany moduł:
cat /sys/class/leds/apu2:green:led1/trigger
.
Dodatkowe moduły wyzwalaczy są dostępne tutaj:
/lib/modules/$(uname -r)/kernel/drivers/leds/trigger
.
Trwała konfiguracja
Możesz użyć
automatycznego wczytywanie modułów
oraz
tmpfiles.d
(z Systemd), aby zachować tą konfigurację po ponownym uruchomieniu.
/etc/modules-load.d/ledtrig-netdev.conf
ledtrig_netdev
/etc/tmpfiles.d/leds.conf
# Zasilanie
w /sys/class/leds/apu2:green:led1/brightness - - - - 1
# Aktywność portu WAN
w /sys/class/leds/apu2:green:led2/trigger - - - - netdev
w /sys/class/leds/apu2:green:led2/device_name - - - - wan0
w /sys/class/leds/apu2:green:led2/tx - - - - 1
w /sys/class/leds/apu2:green:led2/rx - - - - 1
# Aktywność sieci LAN
w /sys/class/leds/apu2:green:led3/trigger - - - - netdev
w /sys/class/leds/apu2:green:led3/device_name - - - - br0
w /sys/class/leds/apu2:green:led3/tx - - - - 1
w /sys/class/leds/apu2:green:led3/rx - - - - 1
Oprogramowanie układowe
Urządzenia APUx używają
coreboot
zamiast UEFI. Aby zaktualizować oprogramowanie układowe na urządzeniach APU2/3/4/5 użyj
flashrom
:
# flashrom --programmer internal --read stary.rom --output odczyt-starego.txt
# flashrom --programmer internal --write nowy.rom --output zapis-nowego.txt
# systemctl poweroff
Następnie odłącz i podłącz ponownie. Jeżeli pełne ponowne uruchomienie jest niemożliwe (np. oprogramowanie jest aktualizowane zdalnie), możliwe są pewne obejścia:
Flashowanie oprogramowania APUx
Pobieranie oprogramowania APUx