version 1.87, 2018/05/06 11:29:50
|
version 1.105, 2020/01/08 06:45:15
|
Line 20 NetBSD supports many boards based on All
|
Line 20 NetBSD supports many boards based on All
|
</tr> |
</tr> |
</thead> |
</thead> |
<tbody> |
<tbody> |
<tr><td>sun4i</td><td>A10</td><td>8.99.3 and later</td><td><a href="https://www.olimex.com/Products/OLinuXino/A10/A10-OLinuXino-LIME/open-source-hardware">Olimex A10-OLinuXino-LIME</a><td></td></tr> |
<tr><td>sun4i</td><td>A10</td><td>9.0</td><td><a href="https://www.olimex.com/Products/OLinuXino/A10/A10-OLinuXino-LIME/open-source-hardware">Olimex A10-OLinuXino-LIME</a><td></td></tr> |
<tr><td>sun5i</td><td>A10s</td><td>-</td><td></td></tr> |
<tr><td>sun5i</td><td>A10s</td><td>-</td><td></td></tr> |
<tr><td>sun5i</td><td>A13</td><td>8.99.2 and later</td><td><a href="https://www.olimex.com/Products/OLinuXino/A13/A13-OLinuXino/open-source-hardware">Olimex A13-OLinuXino</a>, <a href="https://www.olimex.com/Products/OLinuXino/A13/A13-OLinuXino-MICRO/open-source-hardware">Olimex A13-OLinuXino-MICRO</a></td></tr> |
<tr><td>sun5i</td><td>A13</td><td>9.0</td><td><a href="https://www.olimex.com/Products/OLinuXino/A13/A13-OLinuXino/open-source-hardware">Olimex A13-OLinuXino</a>, <a href="https://www.olimex.com/Products/OLinuXino/A13/A13-OLinuXino-MICRO/open-source-hardware">Olimex A13-OLinuXino-MICRO</a></td></tr> |
<tr><td>sun5i</td><td>GR8</td><td>8.99.5</td><td><a href="https://getchip.com/pages/chippro">C.H.I.P. Pro</a></td><td></td></tr> |
<tr><td>sun5i</td><td>GR8</td><td>9.0</td><td><a href="https://getchip.com/pages/chippro">C.H.I.P. Pro</a></td><td></td></tr> |
<tr><td>sun5i</td><td>R8</td><td>8.99.2 and later</td><td><a href="https://getchip.com/pages/chip">C.H.I.P.</a>, <a href="https://getchip.com/pages/pocketchip">Pocket C.H.I.P.</a></td><td></td></tr> |
<tr><td>sun5i</td><td>R8</td><td>9.0</td><td><a href="https://getchip.com/pages/chip">C.H.I.P.</a>, <a href="https://getchip.com/pages/pocketchip">Pocket C.H.I.P.</a></td><td></td></tr> |
<tr><td>sun6i</td><td>A31</td><td>7.0 and later</td><td><a href="http://linux-sunxi.org/Merrii_Hummingbird_A31">Merrii Hummingbird A31</a></td><td></td></tr> |
<tr><td>sun6i</td><td>A31</td><td>7.0</td><td><a href="http://linux-sunxi.org/Merrii_Hummingbird_A31">Merrii Hummingbird A31</a></td><td></td></tr> |
<tr><td>sun6i</td><td>A31s</td><td>-</td><td></td><td></td></tr> |
<tr><td>sun6i</td><td>A31s</td><td>-</td><td></td><td></td></tr> |
<tr><td>sun7i</td><td>A20</td><td>7.0 and later</td><td><a href="https://linux-sunxi.org/Cubietech_Cubieboard2">Cubietech Cubieboard 2</a>, <a href="https://linux-sunxi.org/Cubietruck">Cubietech Cubietruck</a>, <a href="http://linux-sunxi.org/LeMaker_Banana_Pi">LeMaker Banana Pi</a></td><td></td></tr> |
<tr><td>sun7i</td><td>A20</td><td>7.0</td><td><a href="https://linux-sunxi.org/Cubietech_Cubieboard2">Cubietech Cubieboard 2</a>, <a href="https://linux-sunxi.org/Cubietruck">Cubietech Cubietruck</a>, <a href="http://linux-sunxi.org/LeMaker_Banana_Pi">LeMaker Banana Pi</a></td><td></td></tr> |
<tr><td>sun8i</td><td>A23</td><td>-</td><td></td></tr> |
<tr><td>sun8i</td><td>A23</td><td>-</td><td></td></tr> |
<tr><td>sun8i</td><td>A33</td><td>-</td><td><a href="https://www.olimex.com/Products/OLinuXino/A33/A33-OLinuXino/open-source-hardware">Olimex A33-OLinuXino</a></td></tr> |
<tr><td>sun8i</td><td>A33</td><td>-</td><td><a href="https://www.olimex.com/Products/OLinuXino/A33/A33-OLinuXino/open-source-hardware">Olimex A33-OLinuXino</a></td></tr> |
<tr><td>sun8i</td><td>R40</td><td>-</td><td><a href="http://www.banana-pi.org/m2u.html">Sinovoip Banana Pi BPI-M2U</a></td></tr> |
<tr><td>sun8i</td><td>R40</td><td>-</td><td><a href="http://www.banana-pi.org/m2u.html">Sinovoip Banana Pi BPI-M2U</a></td></tr> |
<tr><td>sun8i</td><td>A83T</td><td>8.0 and later</td><td><a href="http://www.banana-pi.org/m3.html">Sinovoip Banana Pi BPI-M3</a></td><td></td></tr> |
<tr><td>sun8i</td><td>A83T</td><td>8.0</td><td><a href="http://www.banana-pi.org/m3.html">Sinovoip Banana Pi BPI-M3</a></td><td></td></tr> |
<tr><td>sun8i</td><td>H2+</td><td>8.0 and later</td><td><a href="http://www.orangepi.org/orangepizero/">Xunlong Orange Pi Zero</a></td><td></td></tr> |
<tr><td>sun8i</td><td>H2+</td><td>8.0</td><td><a href="http://www.orangepi.org/orangepizero/">Xunlong Orange Pi Zero</a></td><td></td></tr> |
<tr><td>sun8i</td><td>H3</td><td>8.0 and later</td><td><a href="http://nanopi.io/nanopi-neo.html">FriendlyARM NanoPi NEO</a>, <a href="http://www.orangepi.org/orangepiplus2e/">Xunlong Orange Pi Plus 2E</a></td><td></td></tr> |
<tr><td>sun8i</td><td>H3</td><td>8.0</td><td><a href="http://nanopi.io/nanopi-neo.html">FriendlyARM NanoPi NEO</a>, <a href="http://www.orangepi.org/orangepiplus2e/">Xunlong Orange Pi Plus 2E</a></td><td></td></tr> |
<tr><td>sun8i</td><td>V3s</td><td>-</td><td><a href="https://www.indiegogo.com/projects/licheepi-zero-6-extensible-linux-module-on-finger-wifi-diy#/">Lichee Pi Zero</a></td><td></td></tr> |
<tr><td>sun8i</td><td>V3s</td><td>-</td><td><a href="https://www.indiegogo.com/projects/licheepi-zero-6-extensible-linux-module-on-finger-wifi-diy#/">Lichee Pi Zero</a></td><td></td></tr> |
<tr><td>sun9i</td><td>A80</td><td>8.0 and later</td><td><a href="http://linux-sunxi.org/Cubietech_Cubieboard4">Cubietech Cubieboard 4</a></td><td></td></tr> |
<tr><td>sun9i</td><td>A80</td><td>8.0</td><td><a href="http://linux-sunxi.org/Cubietech_Cubieboard4">Cubietech Cubieboard 4</a></td><td></td></tr> |
<tr><td>sun50i</td><td>A64</td><td>8.99.2 and later</td><td><a href="https://www.pine64.org/?page_id=1194">Pine64</a>, <a href="https://www.pine64.org/?page_id=3707">Pinebook</a></td><td></td></tr> |
<tr><td>sun50i</td><td>A64</td><td>9.0</td><td><a href="https://www.pine64.org/devices/single-board-computers/pine-a64/">Pine64</a>, <a href="https://www.pine64.org/pinebook/">Pinebook</a></td><td></td></tr> |
<tr><td>sun50i</td><td>H5</td><td>8.99.4 and later</td><td><a href="http://www.friendlyarm.com/index.php?route=product/product&path=69&product_id=180">FriendlyARM NanoPi NEO2, <a href="http://www.friendlyarm.com/index.php?route=product/product&path=69&product_id=196">FriendlyARM NanoPi NEO Plus2</a></td><td></td></tr> |
<tr><td>sun50i</td><td>H5</td><td>9.0</td><td><a href="http://www.friendlyarm.com/index.php?route=product/product&path=69&product_id=180">FriendlyARM NanoPi NEO2, <a href="http://www.friendlyarm.com/index.php?route=product/product&path=69&product_id=196">FriendlyARM NanoPi NEO Plus2</a></td><td></td></tr> |
<tr><td>sun50i</td><td>H6</td><td>8.99.14 and later</td><td><a href="http://www.orangepi.org/OrangePiOneplus/">Orange Pi One Plus</a>, <a href="https://www.pine64.org/?product_cat=pine-h64-boards">Pine H64</a></td></tr> |
<tr><td>sun50i</td><td>H6</td><td>9.0</td><td><a href="http://www.orangepi.org/OrangePiOneplus/">Orange Pi One Plus</a>, <a href="https://www.pine64.org/pine-h64-ver-b/">Pine H64</a></td></tr> |
</tbody> |
</tbody> |
</table> |
</table> |
|
|
|
|
# Supported hardware |
# Supported hardware |
|
|
Please refer to the [SUNXI kernel config](https://nxr.netbsd.org/xref/src/sys/arch/evbarm/conf/SUNXI) for the most up-to-date list of supported hardware. |
Please refer to the [GENERIC (32-bit)](https://nxr.netbsd.org/xref/src/sys/arch/evbarm/conf/GENERIC) or [GENERIC64 (64-bit)](https://nxr.netbsd.org/xref/src/sys/arch/evbarm/conf/GENERIC64) kernel configs for the most up-to-date list of supported hardware. |
|
|
<table> |
<table> |
<thead> |
<thead> |
Line 56 Please refer to the [SUNXI kernel config
|
Line 56 Please refer to the [SUNXI kernel config
|
</tr> |
</tr> |
</thead> |
</thead> |
<tbody> |
<tbody> |
<tr><td>Audio codec</td><td>Yes</td><td>Supported on sun4i, sun5i, sun6i, sun7i, sun8i-h2+, sun8i-h3, sun50i-h5</td></tr> |
<tr><td>Audio codec</td><td>Yes</td><td>Supported on sun4i, sun5i, sun6i, sun7i, sun8i-h2+, sun8i-h3, sun50i-h5, sun50i-a64</td></tr> |
|
<tr><td>CAN controller</td><td>Yes</td><td></td></tr> |
<tr><td>Crypto engine</td><td>-</td><td></td></tr> |
<tr><td>Crypto engine</td><td>-</td><td></td></tr> |
<tr><td>CSI</td><td>-</td><td></td></tr> |
<tr><td>CSI</td><td>-</td><td></td></tr> |
<tr><td>DMA</td><td>Yes</td><td></td></tr> |
<tr><td>DMA</td><td>Yes</td><td></td></tr> |
Line 67 Please refer to the [SUNXI kernel config
|
Line 68 Please refer to the [SUNXI kernel config
|
<tr><td>GPIO</td><td>Yes</td><td></td></tr> |
<tr><td>GPIO</td><td>Yes</td><td></td></tr> |
<tr><td>GPU</td><td>-</td><td></td></tr> |
<tr><td>GPU</td><td>-</td><td></td></tr> |
<tr><td>I2C</td><td>Yes</td><td></td></tr> |
<tr><td>I2C</td><td>Yes</td><td></td></tr> |
<tr><td>I2S/PCM</td><td>-</td><td></td></tr> |
<tr><td>I2S/PCM</td><td>Experimental</td><td></td></tr> |
<tr><td>IR transceiver</td><td>-</td><td></td></tr> |
<tr><td>IR transceiver</td><td>-</td><td></td></tr> |
<tr><td>NAND</td><td>Yes</td><td></td></tr> |
<tr><td>NAND</td><td>Yes</td><td></td></tr> |
<tr><td>P2WI/RSB</td><td>Yes</td><td></td></tr> |
<tr><td>P2WI/RSB</td><td>Yes</td><td></td></tr> |
Line 76 Please refer to the [SUNXI kernel config
|
Line 77 Please refer to the [SUNXI kernel config
|
<tr><td>RTC</td><td>Yes</td><td></td></tr> |
<tr><td>RTC</td><td>Yes</td><td></td></tr> |
<tr><td>SATA</td><td>Yes</td><td></td></tr> |
<tr><td>SATA</td><td>Yes</td><td></td></tr> |
<tr><td>SD/MMC</td><td>Yes</td><td></td></tr> |
<tr><td>SD/MMC</td><td>Yes</td><td></td></tr> |
<tr><td>SMP</td><td>Yes</td><td>32-bit only. Uses PSCI support in firmware</td></tr> |
<tr><td>SMP</td><td>Yes</td><td></td></tr> |
<tr><td>SPDIF</td><td>-</td><td></td></tr> |
<tr><td>SPDIF</td><td>-</td><td></td></tr> |
<tr><td>SPI</td><td>-</td><td></td></tr> |
<tr><td>SPI</td><td>Yes</td><td></td></tr> |
<tr><td>Thermal sensors</td><td>Yes</td><td></td></tr> |
<tr><td>Thermal sensors</td><td>Yes</td><td></td></tr> |
<tr><td>Touch screen</td><td>Yes</td><td></td></tr> |
<tr><td>Touch screen</td><td>Yes</td><td></td></tr> |
<tr><td>UART</td><td>Yes</td><td></td></tr> |
<tr><td>UART</td><td>Yes</td><td></td></tr> |
Line 91 Please refer to the [SUNXI kernel config
|
Line 92 Please refer to the [SUNXI kernel config
|
|
|
# Installation |
# Installation |
|
|
- Download or build **armv7.img** (32-bit) or **arm64.img** (64-bit) from NetBSD -current |
- Download or build **armv7.img** (32-bit) or **arm64.img** (64-bit) from NetBSD 9.0 or later |
- Write the image to disk: **dd if=armv7.img of=/dev/rld0d bs=1m conv=sync** |
- Write the image to disk: **dd if=armv7.img of=/dev/rld0d bs=1m conv=sync** |
- Install a board-specific U-Boot (2017.07 or later) from pkgsrc to the SD card: **dd if=/usr/pkg/share/u-boot/<boardname>/u-boot-sunxi-with-spl.bin of=/dev/rld0d bs=1k seek=8 conv=sync** |
- Install a board-specific U-Boot (2018.05 or later) from pkgsrc to the SD card |
|
(the `u-boot-sunxi-with-spl.bin`-s are provided by `sysutils/u-boot-<boardname>` packages): |
|
**dd if=/usr/pkg/share/u-boot/<boardname>/u-boot-sunxi-with-spl.bin of=/dev/rld0d bs=1k seek=8 conv=sync** |
|
|
|
If your SoC has a SATA controller and you would like to install on |
|
an hard disk and use a SD card only for u-boot please give a look |
|
to |
|
[[NetBSD/evbarm install via sysinst(8) on a SATA hard disk, USB stick or (u)SD card|ports/evbarm/install_using_sysinst]]. |
|
|
# Tips and tricks |
# Tips and tricks |
|
|
Line 104 On some television models, the borders o
|
Line 112 On some television models, the borders o
|
setenv video-mode sunxi:1280x720-24,overscan_x=32,overscan_y=20 |
setenv video-mode sunxi:1280x720-24,overscan_x=32,overscan_y=20 |
saveenv |
saveenv |
reset |
reset |
|
|
|
## Pinebook function keys |
|
|
|
The sleep (Fn+Esc), home (Fn+F1), volume down (Fn+F3), volume up (Fn+F4), and mute (Fn+F5) keys on the keyboard are mapped to uhid(4) devices. |
|
|
|
Create the following config file: |
|
|
|
[[!template id=filecontent name="/etc/usbhidaction.conf" text=""" |
|
Consumer:Consumer_Control.Consumer:Volume_Up 1 |
|
mixerctl -n -w outputs.master++ |
|
Consumer:Consumer_Control.Consumer:Volume_Down 1 |
|
mixerctl -n -w outputs.master-- |
|
Consumer:Consumer_Control.Consumer:Mute 1 |
|
mixerctl -n -w outputs.mute++ |
|
Consumer:Consumer_Control.Consumer:AC_Home 1 |
|
/etc/powerd/scripts/hotkey_button AC_Home pressed |
|
Generic_Desktop:System_Control.Generic_Desktop:System_Sleep 1 |
|
/etc/powerd/scripts/sleep_button System_Sleep pressed |
|
"""]] |
|
|
|
Then start two copies of usbhidaction: |
|
|
|
[[!template id=programlisting text=""" |
|
# /usr/bin/usbhidaction -c /etc/usbhidaction.conf -f /dev/uhid0 -i -p /var/run/usbhidaction-uhid0.pid |
|
# /usr/bin/usbhidaction -c /etc/usbhidaction.conf -f /dev/uhid1 -i -p /var/run/usbhidaction-uhid1.pid |
|
"""]] |
|
|
|
## Pinebook keyboard |
|
|
|
The new 11" 1080p model has a slightly different keyboard layout to the 14". |
|
Using wscons it works perfectly, but using X the \ key next to left shift will display > when pressed. |
|
To solve this, you need to change the keyboard layout to altgr-intl. This can be done system wide by creating the file: |
|
|
|
[[!template id=filecontent name="/etc/X11/xorg.conf.d/00-system-keyboard.conf" text=""" |
|
Section "InputDevice" |
|
Identifier "Pinebook 1080p keyboard" |
|
Driver "kbd" |
|
Option "XkbLayout" "us" |
|
Option "XkbVariant" "altgr-intl" |
|
EndSection |
|
"""]] |
|
|
|
## Pinebook touchpad |
|
|
|
To fix jittery touch input on the touchpad, you can adjust the input sensitivity by creating the file: |
|
|
|
[[!template id=filecontent name="/etc/X11/xorg.conf.d/00-system-touchpad.conf" text=""" |
|
Section "InputDevice" |
|
Identifier "Pinebook touchpad" |
|
Driver "mouse" |
|
Option "AccelerationProfile" "2" |
|
Option "AdaptiveDeceleration" "1" |
|
Option "ConstantDeceleration" "2.4" # Pinebook 14" |
|
#Option "ConstantDeceleration" "1.2" # Pinebook 11" |
|
EndSection |
|
"""]] |
|
|
|
## Pinebook screen |
|
|
|
X11 currently cannot work out the size of the screen, resulting in a very small DPI on a very small screen. |
|
This file configures X to use an 11.6" screen, which results in very readable a DPI of 190. |
|
|
|
[[!template id=filecontent name="/etc/X11/xorg.conf.d/01-pinebook-11-screen.conf" text=""" |
|
Section "Monitor" |
|
Identifier "Pinebook 11.6 inch monitor" |
|
DisplaySize 256.8 144.5 # millimeters, 11.6 inch screen |
|
EndSection |
|
|
|
Section "Screen" |
|
Identifier "Default Screen" |
|
Monitor "Pinebook 11.6 inch monitor" |
|
EndSection |
|
"""]] |
|
|
|
|
|
# Links |
|
|
|
- [[NetBSD/evbarm install via sysinst(8) on a SATA hard disk, USB stick or (u)SD card|ports/evbarm/install_using_sysinst]] |