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
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
trigger
musi być pierwsze, ponieważ włącza to inne wpisy (device_name
, tx
oraz rx
).- 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: