mirror of
https://github.com/kou029w/yama.git
synced 2025-01-18 16:08:11 +00:00
86 lines
1.8 KiB
Markdown
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 ライセンスです。
|