version 1.7, 2018/11/19 21:18:08
|
version 1.14, 2018/11/19 22:44:51
|
Line 4 In this document we will see step by ste
|
Line 4 In this document we will see step by ste
|
external media (SATA hard disk, USB stick or (u)SD card) using |
external media (SATA hard disk, USB stick or (u)SD card) using |
[[!template id=man name="sysinst" section="8"]]. |
[[!template id=man name="sysinst" section="8"]]. |
|
|
|
We will start by installing NetBSD/evbarm via `armv7.img` on a |
|
(u)SD card. Then we will use |
|
[[!template id=man name="sysinst" section="8"]] to install |
|
NetBSD/evbarm on a SATA hard disk. The (u)SD card populated via |
|
`armv7.img` will then be used only in the early boot phase for u-boot. |
|
|
As practical example a BananaPI and a SATA hard disk will be used. |
As practical example a BananaPI and a SATA hard disk will be used. |
However, the following instructions can be probably easily applied |
However, the following instructions can be probably easily applied |
on other SoCs and medias with little adjustments. |
on other SoCs and medias with little adjustments. |
Line 12 on other SoCs and medias with little adj
|
Line 18 on other SoCs and medias with little adj
|
# Populating (u)SD card with `armv7.img` |
# Populating (u)SD card with `armv7.img` |
|
|
- Download or build `armv7.img`, e.g.: |
- Download or build `armv7.img`, e.g.: |
```` |
|
|
[[!template id=programlisting text=""" |
$ ftp http://cdn.NetBSD.org/pub/NetBSD/NetBSD-8.0/evbarm-earmv7hf/binary/gzimg/armv7.img.gz |
$ ftp http://cdn.NetBSD.org/pub/NetBSD/NetBSD-8.0/evbarm-earmv7hf/binary/gzimg/armv7.img.gz |
$ gunzip armv7.img.gz |
$ gunzip armv7.img.gz |
```` |
"""]] |
- Write the image to (u)SD card: |
|
```` |
|
$ dd if=armv7.img of=/dev/rsd0d bs=1m conv=sync |
|
```` |
|
- Write u-boot to (u)SD card. `u-boot` images are provided by |
|
`sysutils/u-boot-<boardname>` packages, for example for Allwinner SoC: |
|
```` |
|
$ dd if=/usr/pkg/share/u-boot/<boardname>/u-boot-sunxi-with-spl.bin of=/dev/rld0d bs=1k seek=8 conv=sync |
|
```` |
|
|
|
*TODOleot*: Adjust/provide u-boot incantantions to boot on a BPI |
|
|
|
|
|
# Installing via sysinst(8) |
- Write the image to (u)SD card: |
|
|
*TODOleot*: Document all sysinst(8) "screenshot"! |
[[!template id=programlisting text=""" |
|
# dd if=armv7.img of=/dev/rsd0d bs=1m conv=sync |
|
"""]] |
|
|
Now that the SD card is populated with `armv7.img` we can login as `root` (by |
- Write u-boot to (u)SD card. `u-boot` images are provided by |
default the password is empty) and run `sysinst`: |
`sysutils/u-boot-<boardname>` packages, for example for Allwinner SoC: |
|
|
[[!template id=programlisting text=""" |
[[!template id=programlisting text=""" |
# sysinst |
# dd if=/usr/pkg/share/u-boot/<boardname>/u-boot-sunxi-with-spl.bin of=/dev/rld0d bs=1k seek=8 conv=sync |
"""]] |
"""]] |
|
|
The first menu is about the system type (Respberry PI or Other), we select the |
NetBSD/evbarm 8.0 does not automatically boot on the BananaPI. |
latter ("Other"): |
We can use the following commands to boot from the (u)SD cards in u-boot: |
|
|
[[!template id=programlisting text=""" |
[[!template id=programlisting text=""" |
|
mmc dev 0 |
|
setenv kernel netbsd-BPI.ub |
|
fatload mmc 0:1 82000000 $kernel |
|
bootm 82000000 root=ld0a console=fb |
|
"""]] |
|
|
|
Or, to avoid typing them at every boot we can prepare an u-boot script via |
|
[[!template id=man name="mkubootimage" section="1"]]. |
|
|
|
[[!template id=programlisting text=""" |
|
$ cat boot.cmd |
|
mmc dev 0 |
|
setenv kernel netbsd-BPI.ub |
|
fatload mmc 0:1 82000000 $kernel |
|
bootm 82000000 root=ld0a console=fb |
|
$ mkubootimage -A arm -n armv7 -T script boot.cmd boot.scr |
|
"""]] |
|
|
|
...and copy it on the populated (u)SD card: |
|
|
|
[[!template id=programlisting text=""" |
|
# mount /dev/sd0e /mnt |
|
# cp /mnt/boot.scr /mnt/boot.scr.orig |
|
# cp boot.scr /mnt/ |
|
"""]] |
|
|
|
|
|
# Installing via sysinst(8) |
|
|
|
Now that the SD card is populated with `armv7.img` we can login as `root` (by |
|
default the password is empty) and run `sysinst`: |
|
|
|
[[!template id=programlisting text=""" |
|
# sysinst |
|
"""]] |
|
|
|
The first menu is about the system type (Respberry PI or Other), we select the |
|
latter ("Other"): |
|
|
|
[[!template id=programlisting text=""" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+-------------------------------------+ |
+-------------------------------------+ |
| What kind of system do you have? | |
| What kind of system do you have? | |
| | |
| | |
| a: Raspberry PI | |
| a: Raspberry PI | |
|>b: Other | |
|>b: Other | |
+-------------------------------------+ |
+-------------------------------------+ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"""]] |
"""]] |
|
|
We want to install NetBSD/evbarm on the hard disk so let's select |
We want to install NetBSD/evbarm on the hard disk so let's select |
Line 499 The installation will proceed as usual a
|
Line 536 The installation will proceed as usual a
|
please give a look to |
please give a look to |
[The NetBSD Guide](https://www.netbsd.org/docs/guide/en/chap-exinst.html#exinst-choose-media). |
[The NetBSD Guide](https://www.netbsd.org/docs/guide/en/chap-exinst.html#exinst-choose-media). |
|
|
*TODOleot*: add information how to populate `/boot` and prepare `boot.cmd`, |
When the installation is completed, back to the shell we can populate |
`boot.scr`. |
`/boot` partition of the hard disk ("wd0e") by just copying all |
|
files of the `/boot` partition of the (u)SD card (`armv7.img`): |
|
|
[[!template id=programlisting text=""" |
[[!template id=programlisting text=""" |
# mount /dev/wd0e /mnt |
# mount /dev/wd0e /mnt |
# cp -r /boot/* /mnt/ |
# cp -r /boot/* /mnt/ |
|
# umount /mnt |
|
"""]] |
|
|
|
Finally we can prepare a u-boot script (`boot.scr`) to load the kernel from the |
|
SATA hard disk and boot it: |
|
|
|
[[!template id=programlisting text=""" |
|
$ cat boot.cmd |
|
scsi scan |
|
scsi dev 0 |
|
setenv kernel netbsd-BPI.ub |
|
fatload scsi 0:1 82000000 $kernel |
|
bootm 82000000 root=wd0a console=fb |
|
$ mkubootimage -A arm -n armv7 -T script boot.cmd boot.scr |
|
"""]] |
|
|
|
...and copy them to the (u)SD `/boot`: |
|
|
|
[[!template id=programlisting text=""" |
|
# cp boot.scr /boot |
"""]] |
"""]] |
|
|
|
Please remember that in the early boot phase, u-boot and `boot.scr` |
|
are loaded from the (u)SD card and it loads the kernel present in |
|
the `/boot` partition of the hard disk. |
|
|
|
|
# References |
# References |
|
|
*TODOleot*: add a reference to the instructions shared via PR port-evbarm/50806. |
- [Installing NetBSD to HD/SSD on the Banana Pi](http://daemonforums.org/showthread.php?t=9652) |
|
shows how to install NetBSD/evbarm 7.0 on a SATA hard disk by copying the |
|
contents of (u)SD. |
|
- [Chapter 3. Example installation, The NetBSD Guide](https://www.netbsd.org/docs/guide/en/chap-exinst.html) |
|
describes in details every steps of the NetBSD installation. |