mirror of
https://github.com/kou029w/yama.git
synced 2025-01-18 16:08:11 +00:00
69 lines
1.7 KiB
Markdown
69 lines
1.7 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
|
|
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` 配置後ビルド
|
|
|
|
```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 ライセンスです。
|