Jump to content

# PC Engines (Polski)

From ArchWiki

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

Category:

- Hardware (Polski)

PC Engines (Polski)
Add topic