1
0
Fork 0
mirror of https://github.com/kou029w/yama.git synced 2025-01-18 16:08:11 +00:00
yama/README.md

86 lines
1.8 KiB
Markdown

# Megabit OS
[Megabit](https://github.com/kou029w/megabit) をすぐに試せる実行環境とそれをビルドするためのツール群
## 使い方
1. [Releases](https://github.com/kou029w/megabit-os/releases) から OS イメージをダウンロード
2. イメージを microSD カードに書き込み
3. Raspberry Pi Zero とパソコンを USB で接続し、1-3 分ほど待つと起動
4. 自動的に認識される USB マスストレージのルートに index.js を作成することで自動的に実行
- 注意: index.js 以外の node_modules/ などは無視されます
## サンプルコード
index.js
```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
## ビルド
```sh
bin/build
```
### SD カードのフォーマット
- FAT32 (LBA)
- boot フラグ付ける
- ボリュームラベル付けない
### SD カードに書き込み
```sh
tar xf megabit-armhf.tar.gz -C /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` 配置後ビルド
```sh
bin/conf-gen | tee apkovl/etc/wpa_supplicant/wpa_supplicant.conf
```
### ssh の設定
`apkovl/root/.ssh/authorized_keys` をパーミッション 600 で配置後ビルド
## ライセンス
イメージに含まれているソフトウェアの[ライセンス情報](https://pkgs.alpinelinux.org/packages)を参照してください。
本リポジトリ内のソフトウェアは CC0-1.0 ライセンスです。