1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

pcDuinoでNetBSD

Last updated at Posted at 2022-11-01

FreeBSD/amd64を母艦にして、pcDuinoにNetBSDをインストールしてみました。

まずu-bootをportsでビルドします。

micro sdをUSB変換で母艦にさします。

armv7.imgをNetBSDのサイトからダウンロードして、ビルドしたu-bootと書き込みます。

% fetch http://cdn.netbsd.org/pub/NetBSD/NetBSD-9.3/evbarm-earmv7hfeb/binary/gzimg/armv7.img.gz
% gzip -d armv7.img.gz
% sudo dd if=armv7.img of=/dev/da0 bs=1m conv=sync
% sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/da0 bs=1k seek=8 conv=sync

armv7.imgはu-boot用に先頭に空きスペースがあって、そこにu-bootを書き込む事でブートできるようになるようです。

netbsd-a10.png

出来上がったmicro sdをpcDuinoにさして電源を入れるとブートします。

armv7.imgは初回起動時に/ファイルシステムをメディアのサイズにリサイズするようです。

初回起動時にはいろいろ設定をするので、時間がかかります。

armv7# df
Filesystem    1K-blocks       Used      Avail %Cap Mounted on
/dev/ld0a       7549880    1029408    6142984  14% /
/dev/ld0e         81820      33456      48364  40% /boot
kernfs                1          1          0 100% /kern
ptyfs                 1          1          0 100% /dev/pts
procfs                8          8          0 100% /proc
tmpfs            131072          8     131064   0% /var/shm

母艦で見るとこうです。

% sudo gpart show da0
=>      63  15572929  da0  MBR  (7.4G)
        63     32705       - free -  (16M)
     32768    163840    1  fat32lba  [active]  (80M)
    196608  15376384    2  !169  (7.3G)

armv7.imgはFATとffsで出来ていて、FAT部分はこんなファイルが入っています。

=> fatls mmc 0
            dtb/
  8887704   netbsd-GENERIC.ub
  8887696   kernel7.img
    21522   bcm2836-rpi-2-b.dtb
    21713   bcm2837-rpi-3-a-plus.dtb
    22194   bcm2837-rpi-3-b.dtb
    22630   bcm2837-rpi-3-b-plus.dtb
    21655   bcm2837-rpi-cm3-io3.dtb
    80682   exynos5422-odroidhc1.dtb
    86448   exynos5422-odroidxu3-lite.dtb
    86743   exynos5422-odroidxu3.dtb
    85647   exynos5422-odroidxu4.dtb
    28381   socfpga_cyclone5_de0_nano_soc.dtb
    11684   zynq-cc108.dtb
    12083   zynq-microzed.dtb
    11867   zynq-parallella.dtb
    17306   zynq-zc702.dtb
    16059   zynq-zc706.dtb
    12037   zynq-zc770-xm010.dtb
    11518   zynq-zc770-xm011.dtb
    11527   zynq-zc770-xm012.dtb
    11988   zynq-zc770-xm013.dtb
    11571   zynq-zed.dtb
    12048   zynq-zturn.dtb
    11595   zynq-zybo.dtb
    11694   zynq-zybo-z7.dtb
      227   boot.ini
      115   cmdline.txt
      234   config.txt
     1494   LICENCE.broadcom
    52116   bootcode.bin
     6660   fixup.dat
     2618   fixup_cd.dat
  2846852   start.elf
   677732   start_cd.elf
            EFI/
      129   boot.cmd
      201   boot.scr

36 file(s), 2 dir(s)

NetBSDではAllwinnerやラズパイはGENERICカーネルでサポートしているようです。

GENERICカーネルはFTDでコンフィグレーションをしていて、DTB(DTSをコンパイルしたもの)はu-bootから拾っているようです。

ruby31とbisonをpkg_addしてgem31でrakeをinstallしてmruby 3.1をビルドしてみました。fib(32)が6秒でした。

micro sdにrwなファイルシステムを作っているので、ハードに使うとmicro sdがじきに壊れます。

10.0も同じ手順でインストールできましたが、イーサーネットが使えません。(2024/04/01)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?