Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Let's enjoy SynQuacer!

Let's enjoy SynQuacer!

Introduce SynQuacer ARM64 desktop machine.

Toshifumi NISHINAGA

May 26, 2018
Tweet

More Decks by Toshifumi NISHINAGA

Other Decks in Programming

Transcript

  1. $ who • Name: Toshifumi NISHINAGA • Attribute: Hobby embedded

    programmer • Activities: ◦ Google Summer of Code 2016(Linux foundation) ▪ https://summerofcode.withgoogle.com/archive/2016/projects/6617849892175872/ ▪ Porting Linux to ARM Cotex-M7 microcontroller. ◦ U-Boot contributor(not active recently…) • link: ◦ https://github.com/tnishinaga ◦ https://speakerdeck.com/tnishinaga 2
  2. What is SynQuacer(Linaro developerbox) • What’s this: ◦ ARM64 desktop

    (server) machine • Spec: ◦ Processor: ARM Cortex-A53 24 core ◦ Memory: 4GB(up to 16GB x 4 slot) ◦ HDD: 1TB ◦ LAN: 1x 1Gbps ◦ PCIe: x1 x 2, x16(actually x4) x 1 ◦ Graphic: GeForce GT710(PCIe x16) ◦ 2x USB3, 2x USB2, 2x SATA 1x 96board LS connector • Price: ◦ 130,000 yen(chip1stop) 5
  3. Interested point for me • UEFI boot • HTTP Boot

    • Boot without DTS ◦ Use ACPI to get hardware information • JTAG • able to low level recovery(safe to break it) ◦ We can recover when we write own bootloader. ◦ https://www.96boards.org/documentation/enterprise/devel operbox/installation/board-recovery.md.html • multi-core is fun!! 6
  4. misc • Power consumption ◦ idle: 20 - 25W ◦

    kernel compiling: 30W • Noise ◦ Not completely silence ◦ Reason: Power has fan and oscillate with case... 11
  5. HTTP Boot • We can use HTTP Boot to install

    debian. ◦ HTTP boot: Execute UEFI application from HTTP(S) server(UEFI specification > 2.5) ◦ UEFIのHTTP BOOTを試してみる https://tnishinaga.hatenablog.com/entry/2017/12/22/221956 • Easy to setup with HTTP boot: ◦ Connect LAN cable ◦ Power on ◦ Enter to UEFI Bootmanager and select [Install Debian Stretch] ◦ Automatically download debian iso image and boot it. ◦ https://asciinema.org/a/146683 13
  6. My friend says... 14 > LANが繋がってる事を確認したら、”Install Debian Stretch (Linaro ERP)

    over HTTP”を選択して起動 し、後は手順に沿ってインストール。ディスクイメージ やインストーラを落とす必要無い!凄い! Quotes from : livaの雑記帳 SynQuacer Developerbox をセットアップした http://raphine.hatenablog.com/entry/2018/03/05/182940
  7. Problem • Success ◦ Boot debian install image ◦ Start

    to fetch packages • Fail: ◦ Fetch packages from server • Related to cause? ◦ Very slow to get response from my router. ◦ 7000ms !? why!? • Known issue ◦ https://www.96boards.org/documentation/ent erprise/developerbox/support/known-issues.h tml#dhcp-failures-andor-poor-performance-wit h-on-board-networking 16
  8. God hiramatsu-san says... 17 Can you try to firmware update

    https://www.96boards.org/documentation/enterpri se/developerbox/installation/board-recovery.md.ht ml
  9. Firmware update • document ◦ https://www.96boards.org/documentation/enterprise/developerbox/installation/board-recovery. md.html • Update method:

    ◦ from OS(cannot for me) ▪ https://www.96boards.org/documentation/enterprise/developerbox/installation/ ◦ from serial ▪ https://www.96boards.org/documentation/enterprise/developerbox/installation/board-rec overy.md.html#update-using-serial-flasher ▪ Note: this method use UART0(not UART1). Not connected to USB. We must buy UART mezzanine board. 18
  10. How to install with latest install image • HTTP boot

    from Web(not recommended) ◦ add http boot entry from: https://snapshots.linaro.org/96boards/reference-platform/components/debian-installer/latest/mi ni.iso ◦ not recommended way because difficult to add url to boot entry • HTTP boot from LAN(recommended) ◦ add http boot entry from LAN. like http://192.168.111.10:8888/mini.iso ◦ download mini.iso to another machine and launch simple http server like below: ◦ python3 -m http.server • USB boot(hiramatsu-san recommended) ◦ write iso to usb(like pc) 20
  11. Next... 22 I am a Arch Linux user. So, I

    want to use Arch Linux on SynQuacer! ME
  12. How to Install Arch Linux to aarch64 machine 1. download

    rootfs from Arch Linux ARM a. https://archlinuxarm.org/platforms/armv8/generic 2. Unpack rootfs to USB memory 3. boot it 24
  13. How to Install Arch Linux to SynQuacer 1. Rebuild linux

    kernel package for Arch Linux ARM 2. download rootfs from Arch Linux ARM a. https://archlinuxarm.org/platforms/armv8/generic 3. Unpack rootfs to USB memory 4. Install kernel package 5. Add UEFI boot entry 6. boot it 25
  14. Kernel rebuild • Linaro Reference Platform Kernel(rpk) ◦ https://github.com/Linaro/rpk ◦

    better than the upstream kernel, because it has patches for SynQuacer. • How to build: ◦ copy .config from debain ◦ make oldconfig ◦ make -j`nproc` 26
  15. fix • ld 2.30(latest version) has bug • fixed at

    PR22764(2018/2/5) ◦ https://sourceware.org/bugzilla/show_bug.cgi?id=22764 ◦ https://sourceware.org/ml/binutils/2018-02/msg00039.html 28
  16. Documents and link • Assembly Instructions manual(ja) ◦ http://www.socionext.com/jp/download/catalog/MN04-00002-2.pdf •

    96boards site ◦ https://www.96boards.org/product/developerbox/ ◦ https://www.96boards.org/documentation/enterprise/developerbox/ • known issues ◦ https://www.96boards.org/documentation/enterprise/developerbox/support/known-issues.html • Kernel ◦ https://github.com/Linaro/rpk • Hardware documents ◦ https://www.96boards.org/documentation/enterprise/developerbox/hardware-docs/ ◦ Coming soon... (from 2018/04) 31
  17. Install third party OS • CentOS ◦ https://www.96boards.org/documentation/enterprise/developerbox/installation/centos.html • RHEL

    ◦ https://www.96boards.org/documentation/enterprise/developerbox/installation/rhel.html • Ubuntu ◦ https://www.96boards.org/documentation/enterprise/developerbox/installation/ubuntu.html 33