Fix errors detected by markdownlint

This commit is contained in:
Takumi Sueda 2022-01-12 02:54:15 +09:00
parent 95ce4d89c4
commit eecc273562
11 changed files with 155 additions and 122 deletions

View File

@ -11,6 +11,7 @@ excerpt: ""
<img src="/assets/images/happy.png">
# はじめに
このページでは、SHARP Brain で Linux を動かす試みから生まれた Linux ディストリビューション **Brainux** を手軽に起動する方法をご紹介します。
@ -61,34 +62,34 @@ macOS もしくは Linux をお使いの場合は、ZIP を展開して取り出
2. "Flash from file" をクリックし、ダウンロードした ZIP ファイルを選択します
- 展開する必要はありません
- 展開する必要はありません
<img src="/assets/images/etcher1.png" width=500px>
<img src="/assets/images/etcher1.png" width=300px>
<img src="/assets/images/etcher2.png" width=500px>
<img src="/assets/images/etcher2.png" width=300px>
3. "Select target" をクリックして書き込み先を選択します
- 正しい SD カードを選択しているか慎重に確認してください
- 4GB 以上の SD カードであればなんでも使用可能です
- SD カードの性能がシステムの使用感に直結するため高速な SD カードを使用することをおすすめします
- 画像では 8GB の SD カードを選択しています
- 正しい SD カードを選択しているか慎重に確認してください
- 4GB 以上の SD カードであればなんでも使用可能です
- SD カードの性能がシステムの使用感に直結するため高速な SD カードを使用することをおすすめします
- 画像では 8GB の SD カードを選択しています
<img src="/assets/images/etcher3.png" width=500px>
<img src="/assets/images/etcher3.png" width=500px>
<img src="/assets/images/etcher4.png" width=500px>
<img src="/assets/images/etcher4.png" width=500px>
4. "Flash!" をクリックして書き込みます
- 改めて正しい SD カードが選択されているか確認した上で書き込んでください
- 書き込みには管理者権限が必要なため管理者パスワードを入力します
- 改めて正しい SD カードが選択されているか確認した上で書き込んでください
- 書き込みには管理者権限が必要なため管理者パスワードを入力します
<img src="/assets/images/etcher5.png" width=500px>
<img src="/assets/images/etcher5.png" width=500px>
<img src="/assets/images/etcher6.png" width=500px>
<img src="/assets/images/etcher6.png" width=500px>
<img src="/assets/images/etcher7.png" width=500px>
<img src="/assets/images/etcher7.png" width=500px>
5. 完成!
@ -102,8 +103,8 @@ macOS もしくは Linux をお使いの場合は、`dd` コマンドでも書
### macOS の場合
- macOS では `/dev/disk*` に書き込むと非常に遅いため `/dev/rdisk*` を使用します
- どのディスクが SD カードかはディスクユーティリティを使用して確認します
- macOS では `/dev/disk*` に書き込むと非常に遅いため `/dev/rdisk*` を使用します
- どのディスクが SD カードかはディスクユーティリティを使用して確認します
以下に実行例を示します。バージョン番号は適宜読み替えてください。
@ -136,15 +137,16 @@ sudo dd if=~/Downloads/sdimage-2021-02-21-162410.img of=/dev/sdc bs=10M
Brain における Linux の動作はまだ初期段階であり、一部のハードウェアしか利用できません。
## キーボード (Sx1, Sx2)
キーが非常に少ない Brain のキーボードで必要な記号を打つため、キーボードの使用方法は特殊になっています。キートップに記載されたキー以外の文字は、すべて「記号」キーと「シフト」キーを組み合わせて入力します。
Shift キー・Ctrl キー・Alt キーは現実のキーボードに近い配置として以下のように対応させています。
- Shift → 「シフト」
- Ctrl → ページアップキー(《 を横に倒した記号のキー)
- Alt → 「文字切り替え」キー
- Shift → 「シフト」
- Ctrl → ページアップキー(《 を横に倒した記号のキー)
- Alt → 「文字切り替え」キー
キーと入力される文字のマップを以下に示します。

View File

@ -10,6 +10,7 @@ excerpt: ""
# 動作環境
- Debian 10 (Buster)
- Ubuntu 20.04 LTS
@ -17,6 +18,7 @@ excerpt: ""
# 依存関係のインストール
以下のコマンドで依存関係をインストールします。
```sh
@ -25,14 +27,16 @@ sudo apt install build-essential bison flex libncurses5-dev gcc-arm-linux-gnueab
# Gitリポジトリのクローン
以下のコマンドでGitリポジトリをクローンして、必要なファイルをダウンロードします。長い時間がかかるので、時間のあるときに行いましょう。
```
```sh
git clone --recursive https://github.com/brain-hackers/buildbrain.git
```
# Linuxのビルド
1. `cd buildbrain``buildbrain` ディレクトリに入ります。
2. `make ldefconfig` を実行して、 `.config` ファイルを作成します。
@ -41,6 +45,7 @@ git clone --recursive https://github.com/brain-hackers/buildbrain.git
# Brainuxのビルド
Linuxのカーネルの準備ができたら、カーネルの上で動くアプリケーションを用意して、Linuxディストリビューションを完成させます。
1. バックグラウンドで `make aptcache` を実行します。
@ -51,22 +56,23 @@ Linuxのカーネルの準備ができたら、カーネルの上で動くアプ
## パッケージの追加方法 (任意)
追加で欲しいパッケージを `./tools/setup_debian.sh` の51行目あたりに追記します。
実際に追記した例を以下に示します。
```diff
42 apt install -y dialog sudo \
43 libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev \
44 xserver-xorg xserver-xorg-video-fbdev xserver-xorg-dev xorg-dev x11-apps \
45 openbox obconf obmenu \
46 weston xwayland \
47 bash tmux vim htop \
48 midori pcmanfm lxterminal xterm gnome-terminal fonts-noto-cjk \
49 dbus udev build-essential flex bison pkg-config autotools-dev libtool autoconf automake \
50 python3 python3-dev python3-setuptools python3-wheel python3-pip python3-smbus \
51 resolvconf net-tools ssh openssh-client avahi-daemon
+ 52 apt install -y fbterm uim-fep uim-mozc
42 apt install -y dialog sudo \
43 libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev \
44 xserver-xorg xserver-xorg-video-fbdev xserver-xorg-dev xorg-dev x11-apps \
45 openbox obconf obmenu \
46 weston xwayland \
47 bash tmux vim htop \
48 midori pcmanfm lxterminal xterm gnome-terminal fonts-noto-cjk \
49 dbus udev build-essential flex bison pkg-config autotools-dev libtool autoconf automake \
50 python3 python3-dev python3-setuptools python3-wheel python3-pip python3-smbus \
51 resolvconf net-tools ssh openssh-client avahi-daemon
+ 52 apt install -y fbterm uim-fep uim-mozc
```
[SD カードへのコピー](/linux/linux-copy-sd-card/)に続く…

View File

@ -9,20 +9,24 @@ excerpt: ""
---
# 注意!
# 注意
***この手順を実行すると、SDカードの内容が消去されます。必ずバックアップをしてから実行しましょう。***
# 前提
- [U-Boot のビルド](/u-boot/u-boot-build/)にてU-Bootをビルドしていること
- [Linux のビルド](/linux/linux-build/)にてLinuxをビルドしていること
# パーティションを区切る
先頭に100MBくらいのFAT32のパーティションを作り、残りをext4のパーティションにします。
## GPartedのインストール
以下のコマンドで GParted をインストールします。
```sh
@ -31,16 +35,19 @@ sudo apt install gparted
## パーティションを作成する
LinuxをインストールするSDカードをPCに挿入してGPartedを起動します。
### GPartedの起動
![GParted起動画面](/assets/images/Launch-GParted.png)
GPartedの右上のメニューからSDカードを選びます。容量で選ぶとわかりやすいです。
### パーティションの削除
![パーティションの削除](/assets/images/partition-delete.png)
***この手順を実行すると、SDカードの内容が消去されます。必ずバックアップをしてから実行しましょう。***
@ -49,6 +56,7 @@ GPartedの右上のメニューからSDカードを選びます。容量で選
### パーティションの作成
まず、FAT32のパーティションを作成します。 "未割り当て" のパーティションを右クリックして "新規" をクリックします。
![新規パーティションの作成のダイアログ](/assets/images/create-partition-fat32.png)
@ -69,12 +77,11 @@ GPartedの右上のメニューからSDカードを選びます。容量で選
# 必要なファイルをコピーする
1. `buildbrain`ディレクトリの中からファイルをコピーします
- `linux-brain/arch/arm/boot/zImage`
- `linux-brain/arch/arm/boot/dts/imx28-[機種名].dts`
1. `buildbrain`ディレクトリの中から以下ファイルをSDカードのFAT32パーティションへコピーします
これらをSDカードのFAT32のパーティションへコピーします。
- `linux-brain/arch/arm/boot/zImage`
- `linux-brain/arch/arm/boot/dts/imx28-[機種名].dts`
2. ターミナルを起動して `cd buildbrain``buildbrain` ディレクトリに入ります

View File

@ -18,6 +18,7 @@ PW-Sx7 までは SoC に GPU が載っておらず、framebuffer (fbdev) のみ
設定ファイル xorg.conf の内容を以下に示します。vi か nano を使って以下の内容を `/etc/X11/xorg.conf` に書き込んでください。
<!-- markdownlint-disable fenced-code-language -->
```
Section "Device"
Identifier "device"
@ -28,6 +29,7 @@ Section "Screen"
Device "device"
EndSection
```
<!-- markdownlint-enable fenced-code-language -->
# 起こし方

View File

@ -33,8 +33,8 @@ excerpt: Brainux が自分の電子辞書にどれくらい対応しているか
# 画面開閉検知
- 開閉イベントの伝達はキーイベントと同じ経路を辿る
- キーボードの実装に依存する
- 開閉イベントの伝達はキーイベントと同じ経路を辿る
- キーボードの実装に依存する
|キーボードの世代|対応済|説明|
|:--|:-:|:--|
@ -46,37 +46,37 @@ excerpt: Brainux が自分の電子辞書にどれくらい対応しているか
# 音
- Brain に内蔵されているスマートアンプには大きく分けて Yamaha 系と Rohm 系がある
- 録音も再生も2021年2月23日現在解析中で非対応
- Brain に内蔵されているスマートアンプには大きく分けて Yamaha 系と Rohm 系がある
- 録音も再生も2021年2月23日現在解析中で非対応
# タッチパネル
- 2021年2月23日現在反応はするが位置がおかしい
- 世代によるハードウェアの差分は不明
- 2021年2月23日現在反応はするが位置がおかしい
- 世代によるハードウェアの差分は不明
# 電源コントローラー
- 2021年2月23日現在未対応のため充電状態の表示などは一切不可
- 2021年2月23日現在未対応のため充電状態の表示などは一切不可
# cpufreq
- CPU のクロック制御は2021年2月23日現在なし
- CPU のクロック制御は2021年2月23日現在なし
# eMMC への Linux インストール
- 研究中
- 研究中
# Wi-Fi
Wi-Fi の接続は複数の手法が提案されていて、現在検証中。
- SDIO Wi-Fi チップ
- USB ドングル
- SDIO Wi-Fi チップ
- USB ドングル
# LCD

View File

@ -13,12 +13,12 @@ excerpt: 動作可否が確認されたケーブルの一覧
Brainux の初期状態では、USB コントローラーはホストとして動作するようになっています。OTG ケーブルを使用すると好きなデバイスを接続することができます。Brain 自身は VBUS (5V) を供給する能力はないので、電源が別途供給可能な OTG ケーブルを使用する必要があります。
- [RouteR RUH-OTGU4](https://amz.run/4Kue)
- [AINEX USB-120R](https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-5EHA)
- [CY 90度左右角度付きMicro USB 2.0 OTGホストアダプター](https://amz.run/4LXg)
- [RouteR RUH-OTGU4](https://amz.run/4Kue)
- [AINEX USB-120R](https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-5EHA)
- [CY 90度左右角度付きMicro USB 2.0 OTGホストアダプター](https://amz.run/4LXg)
# 使えない USB OTG ケーブル一覧
- [Easi-Cable](https://amz.run/4KqD)
- [Easi-Cable](https://amz.run/4KqD)

View File

@ -22,20 +22,20 @@ Brain の DRAM は 128MB しかないので、簡単にメモリが食いつぶ
今回の例では、256MBこれ以上を推奨の領域を確保しています。他の容量にしたい場合は適宜 `bs``count` の値を変えてください。
```
```sh
dd if=/dev/zero of=/swapfile bs=1M count=256
chmod 0600 /swapfile
```
2. スワップ領域を初期化します
```
```sh
mkswap /swapfile
```
3. スワップ領域を有効にします
```
```sh
swapon /swapfile
```

View File

@ -11,29 +11,35 @@ excerpt: タッチパネルのキャリブレーションBrainux に同梱さ
---
# 事前に
Xorgの設定ファイル ( xorg.conf )を設定していない場合は、下記のWikiを参照して設定してください。
[Xorg](/linux/linux-xorg/)
# 必要なパッケージのインストール
```
```sh
apt install xserver-xorg-input-evdev xinput-calibrator
```
を実行して、必要なパッケージをインストールします。
# Xorgとopenboxの起動
```
```sh
Xorg &
```
```
openbox-session &
```
を実行して、Xorgとopenboxを起動します。
# タッチパネル補正ツールの起動
```
```sh
xinput_calibrator
```
@ -41,10 +47,12 @@ xinput_calibrator
![xinput-calibratorの画面](/assets/images/xinput-calibrator.png)
# 補正する
画面上の 赤い十字 を**丁寧に** 4回タッチすると、補正用の設定項目が端末に出力されます。
```
```plaintext
Setting calibration data: 0, 4095, 0, 4095
Calibrating EVDEV driver for "mxs-lradc-ts" id=6
current calibration values (from XInput): min_x=0, max_x=4095 and min_y=0, max_y=4095
@ -59,19 +67,21 @@ xinput_calibrator
Option "Calibration" "147 3618 3826 350"
Option "SwapAxes" "0"
EndSection
```
```
# 設定ファイルを作成・保存する
`/etc/X11/xorg.conf.d`を作成します。
```
```sh
mkdir /etx/X11/xorg.conf/d
```
xinput_calibratorの出力に従って、`/etc/X11/xorg.conf.d/99-calibration.conf`に
`Section "InputClass"` から `EndSection`までの行を nano や vi を用いて書き出します。
```
```plaintext
Section "InputClass"
Identifier "calibration"
MatchProduct "mxs-lradc-ts"
@ -80,17 +90,18 @@ xinput_calibratorの出力に従って、`/etc/X11/xorg.conf.d/99-calibration.co
EndSection
```
# Xorgの再起動
```
```sh
pkill Xorg
```
```
Xorg &
```
```
openbox-session &
```
でXorgを再起動します。
# 完成
![ちゃんとタッチした場所にカーソルが来ています](/assets/images/calibrator-done.gif)

View File

@ -11,7 +11,6 @@ excerpt: PC と USB ケーブル1本で接続できる便利な仕組みとそ
---
# USB Gadget とは?
コンピューターがあたかも USB デバイスであるかのように振る舞う仕組みです。
@ -31,36 +30,27 @@ excerpt: PC と USB ケーブル1本で接続できる便利な仕組みとそ
1. SDカードの第1パーティションを`/boot`にマウントします
```
```sh
sudo mount /dev/mmcblk1p1 /boot
```
2. 元のdtsをバックアップします
{機種名の数字}は適宜置き換えてください。(例:PW-SH5→imx28-pwsh5.dtb
```
```sh
sudo cp /boot/imx28-pwsh{機種名の数字}.dtb /boot/imx28-pwsh{機種名の数字}.dtb.orig
```
3. dtbファイルをテキスト形式に変換します
```
```sh
dtc -I dtb -O dts /boot/imx28-pwsh{機種名の数字}.dtb > dts 2> /dev/null
```
## コピペ用
1〜3の手順をまとめると以下のようになります。
```
sudo mount /dev/mmcblk1p1 /boot
sudo cp /boot/imx28-pwsh{機種名の数字}.dtb /boot/imx28-pwsh{機種名の数字}.dtb.orig
dtc -I dtb -O dts /boot/imx28-pwsh{機種名の数字}.dtb > dts 2> /dev/null
```
4. 設定を書き換えます
```
```sh
nano dts
```
@ -70,92 +60,102 @@ dtc -I dtb -O dts /boot/imx28-pwsh{機種名の数字}.dtb > dts 2> /dev/null
```diff
ahb@80080000 {
usb0: usb@80080000 {
pinctrl-names = "default";
pinctrl-0 = <&usb0_id_pins_a>;
vbus-supply = <&reg_usb0_vbus>;
- dr_mode = "host";
+ dr_mode = "peripheral";
status = "okay";
};
usb0: usb@80080000 {
pinctrl-names = "default";
pinctrl-0 = <&usb0_id_pins_a>;
vbus-supply = <&reg_usb0_vbus>;
- dr_mode = "host";
+ dr_mode = "peripheral";
status = "okay";
};
};
```
書き換えられたら保存してエディタを終了します。`Ctrl+O`の次に`Enter`を押して保存して、`Ctrl+X`で終了します。
5. 編集したものをバイナリ形式に変換します
```
```sh
dtc -I dts -O dtb dts > dtb 2> /dev/null
```
```
```sh
sudo mv dtb /boot/imx28-pwsh{機種名の数字}.dtb
```
6. SDカードの第1パーティションアンマウントします
```
```sh
sudo umount /boot
```
7. 再起動します
```
```sh
sudo reboot
```
## コピペ用
1〜3の手順をまとめると以下のようになります。
```sh
sudo mount /dev/mmcblk1p1 /boot
sudo cp /boot/imx28-pwsh{機種名の数字}.dtb /boot/imx28-pwsh{機種名の数字}.dtb.orig
dtc -I dtb -O dts /boot/imx28-pwsh{機種名の数字}.dtb > dts 2> /dev/null
```
5〜7の手順をまとめると以下のようになります。
```
```sh
dtc -I dts -O dtb dts > dtb 2> /dev/null
sudo mv dtb /boot/imx28-pwsh{機種名の数字}.dtb
sudo umount /boot
sudo reboot
```
# Brain に Ethernet Gadget を喋らせる
1. 以下のスクリプトを vi や nano でホームディレクトリに保存します
```
```sh
#!/bin/sh
g=/sys/kernel/config/usb_gadget/eth
g=/sys/kernel/config/usb_gadget/eth
mkdir ${g}
mkdir ${g}
mkdir ${g}/functions/rndis.rn0
echo "8a:15:8b:44:3a:02" > ${g}/functions/rndis.rn0/dev_addr
echo "8a:15:8b:44:3a:01" > ${g}/functions/rndis.rn0/host_addr
mkdir ${g}/functions/rndis.rn0
echo "8a:15:8b:44:3a:02" > ${g}/functions/rndis.rn0/dev_addr
echo "8a:15:8b:44:3a:01" > ${g}/functions/rndis.rn0/host_addr
mkdir ${g}/configs/c.1
ln -s ${g}/functions/rndis.rn0 ${g}/configs/c.1/
mkdir ${g}/configs/c.1
ln -s ${g}/functions/rndis.rn0 ${g}/configs/c.1/
echo "ci_hdrc.0" > ${g}/UDC
echo "ci_hdrc.0" > ${g}/UDC
sleep 1
ifconfig usb0 up
sleep 1
dhclient
```
ifconfig usb0 up
sleep 1
dhclient
```
2. スクリプトに実行属性を付けます
ここではスクリプト名を `gadget.sh` としています。1. で保存した名前に置き換えてください。
```
$ chmod +x gadget.sh
```sh
chmod +x gadget.sh
```
3. 実行します
次回起動時からはこのスクリプトを都度実行します。
```
$ ./gadget.sh
```sh
./gadget.sh
```

View File

@ -10,7 +10,6 @@ excerpt: Brainux で利用可能な Web ブラウザについて
---
# グラフィカルブラウザ
**グラフィカルブラウザを使うのは困難です!** PW-Sx7 までの Brain が搭載している SoC は初代 Raspberry Pi のクロック周波数の約半分の速度で動作し、メモリ容量も半分以下の 128MB しかありません。つまり、インターネットブラウジングは現実的ではありません。例えば、[極めて高速に表示されることで有名な著名人のサイト](http://abehiroshi.la.coocan.jp/)の表示に実測15秒ほどかかります。また、Twitter は表示不可能です。
@ -20,9 +19,10 @@ excerpt: Brainux で利用可能な Web ブラウザについて
代表的な軽量なブラウザの選択肢に Midori があります。Brainux にはプリインストールされています。Xorg が起動している状態で、以下のコマンドを実行すると Midori が起動します。
```
$ DISPLAY=:0 midori
```
```sh
DISPLAY=:0 midori
```
## Surf

View File

@ -10,6 +10,7 @@ excerpt: ""
# 動作環境
- Debian 10 (Buster)
- Ubuntu 20.04 LTS
@ -17,10 +18,12 @@ excerpt: ""
# 環境の構築
[Linux のビルド](/linux/linux-build/)の頁で既に構築している場合は飛ばします。
## 依存関係のインストール
以下のコマンドで依存関係をインストールしてください。
```sh
@ -29,20 +32,22 @@ sudo apt install build-essential bison flex libncurses5-dev gcc-arm-linux-gnueab
## Gitリポジトリのクローン
Gitリポジトリをクローンして、必要なファイルをダウンロードします。長い時間がかかるので、時間のある時に実いましょう。
```
```sh
git clone --recursive https://github.com/brain-hackers/buildbrain.git
```
# U-Bootのビルドとnk.binの作成
1. `cd buildbrain``buildbrain` ディレクトリに入ります
2. `make udefconfig-sh*` を実行して、 `.config` ファイルを作成します
- PW-Sx1のとき `make udefconfig-sh1`
- PW-Sx5のとき `make udefconfig-sh5`
- PW-Sx1のとき `make udefconfig-sh1`
- PW-Sx5のとき `make udefconfig-sh5`
3. `make ubuild` を実行して `u-boot.sb` を生成します