1
0
Fork 0
mirror of https://github.com/kou029w/yama.git synced 2025-01-18 16:08:11 +00:00
Raspberry Pi Zero 向け OS のビルドするためのツール群
Find a file
2021-07-25 20:48:30 +09:00
.github/workflows change main branch and disable push 2021-07-25 19:07:06 +09:00
apkovl feat: megabit mode 2021-07-25 18:17:48 +09:00
bin add node overlay 2021-07-25 15:48:17 +09:00
.gitignore create projects 2020-07-21 01:34:15 +09:00
docker-compose.yml feat: megabit mode 2021-07-25 18:17:48 +09:00
fstab feat: megabit mode 2021-07-25 18:17:48 +09:00
LICENSE Create LICENSE 2021-07-06 07:15:30 +09:00
overlay.img.gz feat: megabit mode 2021-07-25 18:17:48 +09:00
README.md docs: usage 2021-07-25 20:48:30 +09:00
usercfg.txt enable i2c-dev 2021-07-24 22:30:54 +09:00

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.1

ビルド

bin/build

SD カードのフォーマット

  • FAT32 (LBA)
  • boot フラグ付ける
  • ボリュームラベル付けない

SD カードに書き込み

rsync -a dist/ /path/to/sd/

前提条件

  • Linux Kernel 4.8+
  • binfmt-support 2.1.7+
  • Docker
  • Docker Compose
  • curl
  • grep
  • gzip
  • jq
  • ruby
  • ssh-keygen
  • bash
  • qemu-user-static

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 ライセンスです。