megabit-os/README.md

1.7 KiB

Megabit OS

Megabit をすぐに試せる実行環境とそれをビルドするためのツール群

使い方

  1. Releases から OS イメージをダウンロード
  2. イメージを microSD カードに書き込み
  3. Raspberry Pi Zero とパソコンを USB で接続し、1-3 分ほど待つと起動
  4. 自動的に認識される USB マスストレージのルートに index.js を作成することで自動的に実行
    • 注意: index.js 以外の node_modules/ などは無視されます

サンプルコード

index.js

const { gpio } = require("megabit");
const sleep = require("util").promisify(setTimeout);

async function blink() {
  for (;;) {
    await gpio(26).write(1);
    await sleep(1000);
    await gpio(26).write(0);
    await sleep(1000);
  }
}

blink();

詳細

  • Alpine Linux v3.14 ベース (armhf)
  • Node.js v14.17.6

ビルド

bin/build
bin/img-gen

前提条件

  • Linux Kernel 4.8+
  • binfmt-support 2.1.7+
  • Docker
  • Docker Compose
  • qemu-user-static
  • awk, bash, curl, fallocate, grep, gzip, gzip, losetup, mkfs.fat, parted, ruby, ssh-keygen, tar, xargs

WiFi の設定

apkovl/etc/wpa_supplicant/wpa_supplicant.conf 配置後ビルド

bin/conf-gen | tee apkovl/etc/wpa_supplicant/wpa_supplicant.conf

ssh の設定

apkovl/root/.ssh/authorized_keys をパーミッション 600 で配置後ビルド

ライセンス

イメージに含まれているソフトウェアのライセンス情報を参照してください。 本リポジトリ内のソフトウェアは CC0-1.0 ライセンスです。