Slide 1

Slide 1 text

Let's enjoy SynQuacer! Toshifumi NISHINAGA Japan Technical Jamboree 65

Slide 2

Slide 2 text

$ 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

Slide 3

Slide 3 text

Today’s topic Introduce the SynQuacer How to install debian How to install ArchLinux ARM 3

Slide 4

Slide 4 text

Introduce the SynQuacer 4

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

Arrived at 2018/4/19 7

Slide 8

Slide 8 text

Open SESAME 8

Slide 9

Slide 9 text

Setup 9

Slide 10

Slide 10 text

First Boot 10

Slide 11

Slide 11 text

misc ● Power consumption ○ idle: 20 - 25W ○ kernel compiling: 30W ● Noise ○ Not completely silence ○ Reason: Power has fan and oscillate with case... 11

Slide 12

Slide 12 text

How to install debian 12

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

Not easy for me 15

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

(again) God hiramatsu-san says... 19 Can you try this? https://snapshots.linaro.org/96boards/reference-pl atform/components/debian-installer/latest/

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

Succeed to install Debian 21

Slide 22

Slide 22 text

Next... 22 I am a Arch Linux user. So, I want to use Arch Linux on SynQuacer! ME

Slide 23

Slide 23 text

How to install Arch Linux 23

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

Fail https://gist.github.com/tnishinaga/755c7bfcef564771dd1c2c86543e233f 27

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

Full text Coming soon… https://github.com/tnishinaga/archlinux_synquacer 29

Slide 30

Slide 30 text

Documents and link 30

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

Appendix 32

Slide 33

Slide 33 text

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