diff --git a/Home.md b/Home.md index 4fb58fc..320b622 100644 --- a/Home.md +++ b/Home.md @@ -1,25 +1,5 @@ - - +**Wiki は [wiki.brainux.org](https://wiki.brainux.org/) に移転しました。** -  +**We've moved the wiki to [wiki.brainux.org](https://wiki.brainux.org/).** - - [とりあえず試す](%E3%81%A8%E3%82%8A%E3%81%82%E3%81%88%E3%81%9A%E8%A9%A6%E3%81%99) - - [ロードマップ](%E3%83%AD%E3%83%BC%E3%83%89%E3%83%9E%E3%83%83%E3%83%97) -# Linux - - [SDカードにコピー](Linux%EF%BC%9ESD%E3%82%AB%E3%83%BC%E3%83%89%E3%81%AB%E3%82%B3%E3%83%94%E3%83%BC) - - [ビルド](Linux%EF%BC%9E%E3%83%93%E3%83%AB%E3%83%89) - - [開発](Linux%EF%BC%9E%E9%96%8B%E7%99%BA) -# Tips - - [OTG ケーブル](Tips%EF%BC%9EOTG-%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB) - - [Swap](Tips%EF%BC%9ESwap) - - [USB Ethernet Gadget](Tips%EF%BC%9EUSB-Ethernet-Gadget) - - [Xorg](Tips%EF%BC%9EXorg) - - [タッチパネル補正](Tips%EF%BC%9E%E3%82%BF%E3%83%83%E3%83%81%E3%83%91%E3%83%8D%E3%83%AB%E8%A3%9C%E6%AD%A3) - - [ブラウザ](Tips%EF%BC%9E%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6) -# U‐Boot - - [ビルド](U%E2%80%90Boot%EF%BC%9E%E3%83%93%E3%83%AB%E3%83%89) - - [起動 (EBOOT)](U%E2%80%90Boot%EF%BC%9E%E8%B5%B7%E5%8B%95-%28EBOOT%29) - - [起動 (USB Recovery)](U%E2%80%90Boot%EF%BC%9E%E8%B5%B7%E5%8B%95-%28USB-Recovery%29) -# その他 - - [Wikiの編集方法](%E3%81%9D%E3%81%AE%E4%BB%96%EF%BC%9EWiki%E3%81%AE%E7%B7%A8%E9%9B%86%E6%96%B9%E6%B3%95) diff --git a/Linux>SDカードにコピー.md b/Linux>SDカードにコピー.md deleted file mode 100644 index e51dd53..0000000 --- a/Linux>SDカードにコピー.md +++ /dev/null @@ -1,92 +0,0 @@ - - -### 目次 - -- [注意!](#%E6%B3%A8%E6%84%8F) -- [前提](#%E5%89%8D%E6%8F%90) -- [パーティションを区切る](#%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E5%8C%BA%E5%88%87%E3%82%8B) - - [GPartedのインストール](#gparted%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB) - - [パーティションを作成する](#%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B) - - [GPartedの起動](#gparted%E3%81%AE%E8%B5%B7%E5%8B%95) - - [パーティションの削除](#%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E5%89%8A%E9%99%A4) - - [パーティションの作成](#%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E4%BD%9C%E6%88%90) -- [必要なファイルをコピーする](#%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%82%B3%E3%83%94%E3%83%BC%E3%81%99%E3%82%8B) - - - - -# 注意! -***この手順を実行すると、SDカードの内容が消去されます。必ずバックアップをしてから実行しましょう。*** - - -# 前提 - - [Linux>ビルド](https://github.com/brain-hackers/README/wiki/Linux%EF%BC%9E%E3%83%93%E3%83%AB%E3%83%89)にてLinuxをビルドしていること - - [U-Boot>ビルド>buildbrain](https://github.com/brain-hackers/README/wiki/U%E2%80%90Boot%EF%BC%9E%E3%83%93%E3%83%AB%E3%83%89%EF%BC%9Ebuildbrain)または[U‐Boot>ビルド>手動](https://github.com/brain-hackers/README/wiki/U%E2%80%90Boot%EF%BC%9E%E3%83%93%E3%83%AB%E3%83%89%EF%BC%9E%E6%89%8B%E5%8B%95)にてU-Bootをビルドしていること(現在執筆中) - - -# パーティションを区切る -先頭に100MBくらいのFAT32のパーティションを作り、残りをext4のパーティションにします。 - - -## GPartedのインストール -以下のコマンドで GParted をインストールします。 - -```sh -sudo apt install gparted -``` - - -## パーティションを作成する -LinuxをインストールするSDカードをPCに挿入してGPartedを起動します。 - - -### GPartedの起動 -![GParted起動画面](https://github.com/brain-hackers/README/wiki/images/Launch-GParted.png) - -GPartedの右上のメニューからSDカードを選びます。容量で選ぶとわかりやすいです。 - - -### パーティションの削除 -![パーティションの削除](https://github.com/brain-hackers/README/wiki/images/partition-delete.png) - -***この手順を実行すると、SDカードの内容が消去されます。必ずバックアップをしてから実行しましょう。*** - -パーティションを右クリックしたあと "削除" をクリックしてパーティションを削除します。 - - -### パーティションの作成 -まず、FAT32のパーティションを作成します。 "未割り当て" のパーティションを右クリックして "新規" をクリックします。 - -![新規パーティションの作成のダイアログ](https://github.com/brain-hackers/README/wiki/images/create-partition-fat32.png) - -上図のようなダイアログが表示されたら - -- 新しいサイズ: 100MiB 程度 -- ファイルシステム: fat32 - -に設定して "追加" をクリックし、パーティションを作成します。 - -次に、ext4のパーティションを作成します。 - -- 新しいサイズ: 残りの容量いっぱいまで -- ファイルシステム: ext4 - -に設定して "追加" をクリックし、パーティションを作成します。 - - -# 必要なファイルをコピーする -1. `buildbrain`ディレクトリの中からファイルをコピーします - -- `linux-brain/arch/arm/boot/zImage` -- `linux-brain/arch/arm/boot/dts/imx28-[機種名].dts` - -これらをSDカードのFAT32のパーティションへコピーします。 - -2. ターミナルを起動して `cd buildbrain` で `buildbrain` ディレクトリに入ります -以下のコマンドを実行します。 - -```sh -sudo cp -ar ./brainux/* /SDカードの/2つ目の/パーティション/ -``` - -`/SDカードの/2つ目の/パーティション/` は適宜読み替えてください。 diff --git a/Linux>ビルド.md b/Linux>ビルド.md deleted file mode 100644 index 2fd9e6e..0000000 --- a/Linux>ビルド.md +++ /dev/null @@ -1,79 +0,0 @@ - - -### 目次 - -- [動作環境](#%E5%8B%95%E4%BD%9C%E7%92%B0%E5%A2%83) -- [依存関係のインストール](#%E4%BE%9D%E5%AD%98%E9%96%A2%E4%BF%82%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB) -- [Gitリポジトリのクローン](#git%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AE%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%B3) -- [Linuxのビルド](#linux%E3%81%AE%E3%83%93%E3%83%AB%E3%83%89) -- [Brainuxのビルド](#brainux%E3%81%AE%E3%83%93%E3%83%AB%E3%83%89) - - [パッケージの追加方法 (任意)](#%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AE%E8%BF%BD%E5%8A%A0%E6%96%B9%E6%B3%95-%E4%BB%BB%E6%84%8F) - - - - -# 動作環境 -- Debian 10 (Buster) -- Ubuntu 20.04 LTS - -本項では上記のいずれかを使用していることを前提で記述します。 - - -#前提 -この頁の内容を実行する前に[U‐Boot>ビルド>buildbrain](https://github.com/brain-hackers/README/wiki/U%E2%80%90Boot%EF%BC%9E%E3%83%93%E3%83%AB%E3%83%89%EF%BC%9Ebuildbrain)の内容を実行してください。 - - -# 依存関係のインストール -以下のコマンドで依存関係をインストールします。 - -```sh -sudo apt install build-essential bison flex libncurses5-dev gcc-arm-linux-gnueabi debootstrap qemu-user-static -``` - - -# Gitリポジトリのクローン -以下のコマンドでGitリポジトリをクローンして、必要なファイルをダウンロードします。長い時間がかかるので、時間のあるときに行いましょう。 - -``` -git clone --recursive https://github.com/brain-hackers/buildbrain.git -``` - - -# Linuxのビルド -1. `cd buildbrain` で `buildbrain` ディレクトリに入ります。 - -2. `make ldefconfig` を実行して、 `.config` ファイルを作成します。 - -3. `make lbuild` を実行してLinuxをビルドします。 - - -# Brainuxのビルド -Linuxのカーネルの準備ができたら、カーネルの上で動くアプリケーションを用意して、Linuxディストリビューションを完成させます。 - -1. バックグラウンドで `make aptcache` を実行します。 - - - 新しいウィンドウでターミナルを開き、 `make aptcache` を実行してそのままにしておきます。 - -2. `make brainux` を実行します。長い時間がかかるので、時間のあるときに行いましょう。 - - -## パッケージの追加方法 (任意) -追加で欲しいパッケージを `./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 -``` - -[SDカードにコピー](https://github.com/brain-hackers/README/wiki/Linux>SDカードにコピー)に続く… diff --git a/Linux>開発.md b/Linux>開発.md deleted file mode 100644 index 65f0593..0000000 --- a/Linux>開発.md +++ /dev/null @@ -1,62 +0,0 @@ - - -### 目次 - -- [足りないドライバを追加する](#%E8%B6%B3%E3%82%8A%E3%81%AA%E3%81%84%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B) -- [実機上で開発する](#%E5%AE%9F%E6%A9%9F%E4%B8%8A%E3%81%A7%E9%96%8B%E7%99%BA%E3%81%99%E3%82%8B) - - [ヘッダーパッケージを用意しインストールする](#%E3%83%98%E3%83%83%E3%83%80%E3%83%BC%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%82%92%E7%94%A8%E6%84%8F%E3%81%97%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B) - - [実機上でモジュールを書いて Hello World する](#%E5%AE%9F%E6%A9%9F%E4%B8%8A%E3%81%A7%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%82%92%E6%9B%B8%E3%81%84%E3%81%A6-hello-world-%E3%81%99%E3%82%8B) - - - -# 足りないドライバを追加する - -WIP - - -# 実機上で開発する - -バージョン 2021-04-19-195555 現在、配布されている Brainux の SD イメージにはフルセットの GCC その他が含まれるため、そのまま実機上で Linux kernel の開発をすることができます。実機では主にデバイスドライバの開発を想定しています。非常に時間がかかると思われますが、 brain-hackers/linux-brain を pull すればカーネル全体のビルドも理論的には可能です。 - -実機上でのカーネルモジュールの開発には、今動いているカーネルへの API のほか必要な定義が記載されたヘッダーファイルが必要です。ヘッダーファイルはヘッダーパッケージをインストールすることで利用可能になります。2021年4月21日現在ではまだヘッダーパッケージは配布されていないため、手で用意する必要があります。 - - -## ヘッダーパッケージを用意しインストールする - -先に必要なものとして、[Linux>ビルド](https://github.com/brain-hackers/README/wiki/Linux%EF%BC%9E%E3%83%93%E3%83%AB%E3%83%89)のページに従って buildbrain をクローンしておいてください。 - -1. buildbrain のディレクトリに入ります - -2. 最新のリリースを取得するため `git pull` を実行します - -3. お手元の Brain で動かしている Brainux のバージョンと合う buildbrain の状態へ巻き戻します - - たとえば、Brainux のバージョンが 2021-04-19-195555 だった場合: - - ``` - $ git tag -n1 - ... - 2021-04-19-195555 Merge pull request #16 from brain-hackers/ci-next - - $ git checkout --recurse-submodules 2021-04-19-195555 - ``` - -4. パッケージをビルドします - - ``` - $ make ldebpkg - ``` - -5. できたパッケージを何らかの方法で実機にコピーし、インストールします - - 注意!以下のコマンドは実機上で実行するものです。お使いのパソコン上では実行しないでください。 - - ``` - $ dpkg -i linux-headers-*.deb - ``` - - -## 実機上でモジュールを書いて Hello World する - -WIP - diff --git a/Makefile b/Makefile deleted file mode 100644 index 7ead86f..0000000 --- a/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -.PHONY: -finalize: doctoc generate - -.PHONY: -doctoc: - doctoc --title "### 目次" . - -.PHONY: -generate: - python3 gen.py - -.PHONY: -preview: - python3 -m grip . 0.0.0.0 - diff --git a/Tips>OTG ケーブル.md b/Tips>OTG ケーブル.md deleted file mode 100644 index de6bbb8..0000000 --- a/Tips>OTG ケーブル.md +++ /dev/null @@ -1,23 +0,0 @@ - - -### 目次 - -- [使える USB OTG ケーブル一覧](#%E4%BD%BF%E3%81%88%E3%82%8B-usb-otg-%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB%E4%B8%80%E8%A6%A7) -- [使えない USB OTG ケーブル一覧](#%E4%BD%BF%E3%81%88%E3%81%AA%E3%81%84-usb-otg-%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB%E4%B8%80%E8%A6%A7) - - - - -# 使える USB OTG ケーブル一覧 - -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) - - -# 使えない USB OTG ケーブル一覧 - - - [Easi-Cable](https://amz.run/4KqD) - diff --git a/Tips>Swap.md b/Tips>Swap.md deleted file mode 100644 index 241f964..0000000 --- a/Tips>Swap.md +++ /dev/null @@ -1,39 +0,0 @@ - - -### 目次 - -- [スワップの作成を推奨します](#%E3%82%B9%E3%83%AF%E3%83%83%E3%83%97%E3%81%AE%E4%BD%9C%E6%88%90%E3%82%92%E6%8E%A8%E5%A5%A8%E3%81%97%E3%81%BE%E3%81%99) -- [作成方法](#%E4%BD%9C%E6%88%90%E6%96%B9%E6%B3%95) - - - -# スワップの作成を推奨します - -Brain の DRAM は 128MB しかないので、簡単にメモリが食いつぶされます。この時、スワップがないと OOM Killer により重要なプロセスが終了される危険性があるため、スワップを作成することをおすすめします。 - -2021年2月23日現在のリリースではまだスワップ領域を標準で設定していません。Brain Hackers では将来のリリースで標準でスワップを設定することを検討しています。 - - -# 作成方法 - - 1. 以下のコマンドを実行して、スワップのための領域を確保します - - 今回の例では、256MB(これ以上を推奨)の領域を確保しています。他の容量にしたい場合は適宜 `bs` や `count` の値を変えてください。 - - ``` - dd if=/dev/zero of=/swapfile bs=1M count=256 - chmod 0600 /swapfile - ``` - - 2. スワップ領域を初期化します - - ``` - mkswap /swapfile - ``` - - 3. スワップ領域を有効にします - - ``` - swapon /swapfile - ``` - diff --git a/Tips>USB Ethernet Gadget.md b/Tips>USB Ethernet Gadget.md deleted file mode 100644 index 0bc218a..0000000 --- a/Tips>USB Ethernet Gadget.md +++ /dev/null @@ -1,79 +0,0 @@ - - -### 目次 - -- [USB Gadget とは?](#usb-gadget-%E3%81%A8%E3%81%AF) -- [Why USB Gadget?](#why-usb-gadget) -- [USB コントローラーの動作モードを変更する](#usb-%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE%E5%8B%95%E4%BD%9C%E3%83%A2%E3%83%BC%E3%83%89%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B) -- [Brain に Ethernet Gadget を喋らせる](#brain-%E3%81%AB-ethernet-gadget-%E3%82%92%E5%96%8B%E3%82%89%E3%81%9B%E3%82%8B) -- [パソコン側の対応作業](#%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3%E5%81%B4%E3%81%AE%E5%AF%BE%E5%BF%9C%E4%BD%9C%E6%A5%AD) - - - -# USB Gadget とは? - -コンピューターがあたかも USB デバイスであるかのように振る舞う仕組みです。 - - -# Why USB Gadget? - -インターネットに接続可能なパソコンに USB で Brain を接続するだけで Brain からインターネットに出たり、パソコンと Brain で双方向に SSH したりできるようになります。電池切れの心配もありません。 - - -# USB コントローラーの動作モードを変更する - -初期状態では Brain の USB コントローラーはホストとして動作するため、このままではデバイスになることができません。 -2021年2月23日現在ではまだありませんが、コントローラーの動作モードを簡単に切り替えるスクリプトを用意する予定です。 - -手動で変更するには、Device Tree Compiler を使用します。 - - -# Brain に Ethernet Gadget を喋らせる - -1. 以下のスクリプトを vi や nano でホームディレクトリに保存します - - ``` - #!/bin/sh - - g=/sys/kernel/config/usb_gadget/eth - - 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}/configs/c.1 - ln -s ${g}/functions/rndis.rn0 ${g}/configs/c.1/ - - echo "ci_hdrc.0" > ${g}/UDC - - sleep 1 - ifconfig usb0 up - sleep 1 - dhclient - ``` - -2. スクリプトに実行属性を付けます - - ここではスクリプト名を `gadget.sh` としています。1. で保存した名前に置き換えてください。 - - ``` - $ chmod +x gadget.sh - ``` - -3. 実行します - - 次回起動時からはこのスクリプトを都度実行します。 - - ``` - $ ./gadget.sh - ``` - - -# パソコン側の対応作業 - -Windows / Mac / Linux すべてで利用可能です。(注: 2021年2月23日現在、上記スクリプトでは Windows と macOS で認識しないことを確認しており、修正予定です) - -パソコンを通してインターネットに出るために、ネットワーク接続の共有設定が必要になります。OS ごとに設定方法は異なりますので、別途設定してください。 - diff --git a/Tips>Xorg.md b/Tips>Xorg.md deleted file mode 100644 index 9d7769f..0000000 --- a/Tips>Xorg.md +++ /dev/null @@ -1,42 +0,0 @@ - - -### 目次 - -- [Brain 特有の Xorg の設定について](#brain-%E7%89%B9%E6%9C%89%E3%81%AE-xorg-%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6) -- [xorg.conf](#xorgconf) -- [起こし方](#%E8%B5%B7%E3%81%93%E3%81%97%E6%96%B9) - - - -# Brain 特有の Xorg の設定について - -PW-Sx7 までは SoC に GPU が載っておらず、framebuffer (fbdev) のみが利用可能です。つまり、お手元の Linux マシンで Xorg が GPU と通信するときに使う仕組み (DRM, DRI) は利用できません。設定ファイルに fbdev を使用するように明示的に書くことで Xorg が動かせます。 - - -# xorg.conf - -設定ファイル xorg.conf の内容を以下に示します。vi か nano を使って以下の内容を `/etc/X11/xorg.conf` に書き込んでください。 - -``` -Section "Device" - Identifier "device" - Driver "fbdev" -EndSection -Section "Screen" - Identifier "screen" - Device "device" -EndSection -``` - - -# 起こし方 - -2021年2月23日現在では、Xorg はブートシークエンスと結合されていません。つまり、手で起動します。 - -```sh -$ Xorg & -$ openbox-session & -``` - -以上を実行した後にお好みのソフトを起動してください。 - diff --git a/Tips>タッチパネル補正.md b/Tips>タッチパネル補正.md deleted file mode 100644 index c609b60..0000000 --- a/Tips>タッチパネル補正.md +++ /dev/null @@ -1,97 +0,0 @@ - - -### 目次 - -- [事前に](#%E4%BA%8B%E5%89%8D%E3%81%AB) -- [必要なパッケージのインストール](#%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB) -- [Xorgとopenboxの起動](#xorg%E3%81%A8openbox%E3%81%AE%E8%B5%B7%E5%8B%95) -- [タッチパネル補正ツールの起動](#%E3%82%BF%E3%83%83%E3%83%81%E3%83%91%E3%83%8D%E3%83%AB%E8%A3%9C%E6%AD%A3%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AE%E8%B5%B7%E5%8B%95) -- [補正する](#%E8%A3%9C%E6%AD%A3%E3%81%99%E3%82%8B) -- [設定ファイルを作成・保存する](#%E8%A8%AD%E5%AE%9A%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BD%9C%E6%88%90%E3%83%BB%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B) -- [Xorgの再起動](#xorg%E3%81%AE%E5%86%8D%E8%B5%B7%E5%8B%95) -- [完成](#%E5%AE%8C%E6%88%90) - - - -# 事前に -Xorgの設定ファイル ( xorg.conf )を設定していない場合は、下記のWikiを参照して設定してください。 - -[Tips>Xorg](https://github.com/brain-hackers/README/wiki/Tips%EF%BC%9EXorg#xorgconf) - -# 必要なパッケージのインストール -``` -apt install xserver-xorg-input-evdev xinput-calibrator -``` -を実行して、必要なパッケージをインストールします。 - -# Xorgとopenboxの起動 -``` -Xorg & -``` -``` -openbox-session & -``` -を実行して、Xorgとopenboxを起動します。 - -# タッチパネル補正ツールの起動 -``` -xinput_calibrator -``` - -画面上に補正画面が表示されます。 - -![xinput-calibratorの画面](https://github.com/brain-hackers/README/wiki/images/xinput-calibrator.png) - -# 補正する -画面上の 赤い十字 を**丁寧に** 4回タッチすると、補正用の設定項目が端末に出力されます。 - -``` - 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 - - Doing dynamic recalibration: - Setting calibration data: 147, 3618, 3826, 350 - --> Making the calibration permanent <-- - copy the snippet below into '/etc/X11/xorg.conf.d/99-calibration.conf' (/usr/share/X11/xorg.conf.d/ in some distro's) - Section "InputClass" - Identifier "calibration" - MatchProduct "mxs-lradc-ts" - Option "Calibration" "147 3618 3826 350" - Option "SwapAxes" "0" - EndSection - ``` - -# 設定ファイルを作成・保存する -`/etc/X11/xorg.conf.d`を作成します。 - -``` -mkdir /etx/X11/xorg.conf/d -``` - -xinput_calibratorの出力に従って、`/etc/X11/xorg.conf.d/99-calibration.conf`に -`Section "InputClass"` から `EndSection`までの行を nano や vi を用いて書き出します。 - -``` - Section "InputClass" - Identifier "calibration" - MatchProduct "mxs-lradc-ts" - Option "Calibration" "147 3618 3826 350" - Option "SwapAxes" "0" - EndSection - ``` - -# Xorgの再起動 -``` -pkill Xorg -``` -``` -Xorg & -``` -``` -openbox-session & -``` -でXorgを再起動します。 - -# 完成 -![ちゃんとタッチした場所にカーソルが来ています](https://github.com/brain-hackers/README/wiki/images/calibrator-done.gif) diff --git a/Tips>ブラウザ.md b/Tips>ブラウザ.md deleted file mode 100644 index 562d665..0000000 --- a/Tips>ブラウザ.md +++ /dev/null @@ -1,33 +0,0 @@ - - -### 目次 - -- [グラフィカルブラウザ](#%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%82%AB%E3%83%AB%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6) - - [Midori](#midori) - - [Surf](#surf) -- [テキストブラウザ](#%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6) - - - -# グラフィカルブラウザ - -**グラフィカルブラウザを使うのは困難です!** PW-Sx7 までの Brain が搭載している SoC は初代 Raspberry Pi のクロック周波数の約半分の速度で動作し、メモリ容量も半分以下の 128MB しかありません。つまり、インターネットブラウジングは現実的ではありません。例えば、[極めて高速に表示されることで有名な著名人のサイト](http://abehiroshi.la.coocan.jp/)の表示に実測15秒ほどかかります。また、Twitter は表示不可能です。 - - -## Midori - -代表的な軽量なブラウザの選択肢に Midori があります。Brainux にはプリインストールされています。Xorg が起動している状態で、以下のコマンドを実行すると Midori が起動します。 - - ``` - $ DISPLAY=:0 midori - ``` - -## Surf - -[`surf`](https://surf.suckless.org/) も動作することを確認していますが、Midori と速度はほとんど変わりません。 - - -# テキストブラウザ - -Lynx や w3m は非常にスムーズに動作します。現実的なスピードで Web サイトを閲覧するにはこれらをおすすめします。 - diff --git a/U‐Boot>ビルド.md b/U‐Boot>ビルド.md deleted file mode 100644 index a41c520..0000000 --- a/U‐Boot>ビルド.md +++ /dev/null @@ -1,56 +0,0 @@ - - -### 目次 - -- [動作環境](#%E5%8B%95%E4%BD%9C%E7%92%B0%E5%A2%83) -- [環境の構築](#%E7%92%B0%E5%A2%83%E3%81%AE%E6%A7%8B%E7%AF%89) - - [依存関係のインストール](#%E4%BE%9D%E5%AD%98%E9%96%A2%E4%BF%82%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB) - - [Gitリポジトリのクローン](#git%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AE%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%B3) -- [U-Bootのビルドとnk.binの作成](#u-boot%E3%81%AE%E3%83%93%E3%83%AB%E3%83%89%E3%81%A8nkbin%E3%81%AE%E4%BD%9C%E6%88%90) - - - - -# 動作環境 -- Debian 10 (Buster) -- Ubuntu 20.04 LTS - -本項では上記のいずれかを使用していることを前提で記述します。 - - -# 環境の構築 -[Linux>ビルド](https://github.com/brain-hackers/README/wiki/Linux%EF%BC%9E%E3%83%93%E3%83%AB%E3%83%89)の頁で既に構築している場合は飛ばします。 - - -## 依存関係のインストール -以下のコマンドで依存関係をインストールしてください。 - -```sh -sudo apt install build-essential bison flex libncurses5-dev gcc-arm-linux-gnueabi debootstrap qemu-user-static -``` - - -## Gitリポジトリのクローン -Gitリポジトリをクローンして、必要なファイルをダウンロードします。長い時間がかかるので、時間のある時に実いましょう。 - -``` -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` - -3. `make ubuild` を実行して `u-boot.sb` を生成します - -4. `make nkbin_maker` を実行します - -5. `make nk.bin` を実行します - - -[Linux>ビルド](https://github.com/brain-hackers/README/wiki/Linux%EF%BC%9E%E3%83%93%E3%83%AB%E3%83%89)に続く… diff --git a/U‐Boot>起動-(EBOOT).md b/U‐Boot>起動-(EBOOT).md deleted file mode 100644 index c890591..0000000 --- a/U‐Boot>起動-(EBOOT).md +++ /dev/null @@ -1 +0,0 @@ -Under Construction \ No newline at end of file diff --git a/U‐Boot>起動-(USB-Recovery).md b/U‐Boot>起動-(USB-Recovery).md deleted file mode 100644 index c890591..0000000 --- a/U‐Boot>起動-(USB-Recovery).md +++ /dev/null @@ -1 +0,0 @@ -Under Construction \ No newline at end of file diff --git a/_Sidebar.md b/_Sidebar.md deleted file mode 100644 index 8cb1e41..0000000 --- a/_Sidebar.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](Home) - - - [とりあえず試す](%E3%81%A8%E3%82%8A%E3%81%82%E3%81%88%E3%81%9A%E8%A9%A6%E3%81%99) - - [ロードマップ](%E3%83%AD%E3%83%BC%E3%83%89%E3%83%9E%E3%83%83%E3%83%97) -# Linux - - [SDカードにコピー](Linux%EF%BC%9ESD%E3%82%AB%E3%83%BC%E3%83%89%E3%81%AB%E3%82%B3%E3%83%94%E3%83%BC) - - [ビルド](Linux%EF%BC%9E%E3%83%93%E3%83%AB%E3%83%89) - - [開発](Linux%EF%BC%9E%E9%96%8B%E7%99%BA) -# Tips - - [OTG ケーブル](Tips%EF%BC%9EOTG-%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB) - - [Swap](Tips%EF%BC%9ESwap) - - [USB Ethernet Gadget](Tips%EF%BC%9EUSB-Ethernet-Gadget) - - [Xorg](Tips%EF%BC%9EXorg) - - [タッチパネル補正](Tips%EF%BC%9E%E3%82%BF%E3%83%83%E3%83%81%E3%83%91%E3%83%8D%E3%83%AB%E8%A3%9C%E6%AD%A3) - - [ブラウザ](Tips%EF%BC%9E%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6) -# U‐Boot - - [ビルド](U%E2%80%90Boot%EF%BC%9E%E3%83%93%E3%83%AB%E3%83%89) - - [起動 (EBOOT)](U%E2%80%90Boot%EF%BC%9E%E8%B5%B7%E5%8B%95-%28EBOOT%29) - - [起動 (USB Recovery)](U%E2%80%90Boot%EF%BC%9E%E8%B5%B7%E5%8B%95-%28USB-Recovery%29) -# その他 - - [Wikiの編集方法](%E3%81%9D%E3%81%AE%E4%BB%96%EF%BC%9EWiki%E3%81%AE%E7%B7%A8%E9%9B%86%E6%96%B9%E6%B3%95) diff --git a/gen.py b/gen.py deleted file mode 100644 index abb620b..0000000 --- a/gen.py +++ /dev/null @@ -1,56 +0,0 @@ -from pathlib import Path -from unicodedata import normalize -from urllib.parse import quote -import markdown - - -def main(): - fn_tree = dict() - idfn = dict() - - for fn in sorted(Path('.').glob("*.md")): - if fn.name in {'Home.md', '_Sidebar.md', '_Footer.md'}: - continue - - fn_tokens = fn.name[:-3].replace('-', ' ').split('>') - ptr = fn_tree - for t in fn_tokens: - ptr[t] = ptr.get(t, dict()) - ptr = ptr[t] - - normalized = normalize('NFC', fn.name[:-3]) - idfn[id(ptr)] = quote(normalized.replace(' ', '-'), encoding='utf-8') - - md = markdown.Markdown(extensions=['toc']) - - with open(str(fn)) as f: - raw = f.read() - - md.convert(raw) - - with open('_Sidebar.md', 'w') as f: - f.write('\n\n') - f.write('[Home](Home)\n\n') - recurse(f, fn_tree, idfn) - - with open('Home.md', 'w') as f: - f.write('\n\n') - f.write('\n\n') - f.write(' \n\n') - recurse(f, fn_tree, idfn) - - -def recurse(f, d, idfn, level=1): - for k, child_dict in d.items(): - if child_dict: - continue - f.write(f' - [{k}]({idfn[id(child_dict)]})\n') - - for k, child_dict in d.items(): - if not child_dict: - continue - f.write('#' + '##' * (level-1) + f' {k}\n') - recurse(f, child_dict, idfn, level=level+1) - - -main() diff --git a/images/Launch-GParted.png b/images/Launch-GParted.png deleted file mode 100644 index 370014c..0000000 Binary files a/images/Launch-GParted.png and /dev/null differ diff --git a/images/calibrator-done.gif b/images/calibrator-done.gif deleted file mode 100644 index 0df19a5..0000000 Binary files a/images/calibrator-done.gif and /dev/null differ diff --git a/images/create-partition-fat32.png b/images/create-partition-fat32.png deleted file mode 100644 index 742b570..0000000 Binary files a/images/create-partition-fat32.png and /dev/null differ diff --git a/images/etcher1.png b/images/etcher1.png deleted file mode 100644 index aa159c7..0000000 Binary files a/images/etcher1.png and /dev/null differ diff --git a/images/etcher2.png b/images/etcher2.png deleted file mode 100644 index 5e23c3c..0000000 Binary files a/images/etcher2.png and /dev/null differ diff --git a/images/etcher3.png b/images/etcher3.png deleted file mode 100644 index 4178e55..0000000 Binary files a/images/etcher3.png and /dev/null differ diff --git a/images/etcher4.png b/images/etcher4.png deleted file mode 100644 index b596866..0000000 Binary files a/images/etcher4.png and /dev/null differ diff --git a/images/etcher5.png b/images/etcher5.png deleted file mode 100644 index fc0ade6..0000000 Binary files a/images/etcher5.png and /dev/null differ diff --git a/images/etcher6.png b/images/etcher6.png deleted file mode 100644 index 4b5eac7..0000000 Binary files a/images/etcher6.png and /dev/null differ diff --git a/images/etcher7.png b/images/etcher7.png deleted file mode 100644 index 3c82585..0000000 Binary files a/images/etcher7.png and /dev/null differ diff --git a/images/etcher8.png b/images/etcher8.png deleted file mode 100644 index 56e3019..0000000 Binary files a/images/etcher8.png and /dev/null differ diff --git a/images/happy.png b/images/happy.png deleted file mode 100644 index 573e209..0000000 Binary files a/images/happy.png and /dev/null differ diff --git a/images/keymap.png b/images/keymap.png deleted file mode 100644 index 543db2c..0000000 Binary files a/images/keymap.png and /dev/null differ diff --git a/images/partition-delete.png b/images/partition-delete.png deleted file mode 100644 index c1cfab8..0000000 Binary files a/images/partition-delete.png and /dev/null differ diff --git a/images/top.jpg b/images/top.jpg deleted file mode 100644 index 289138a..0000000 Binary files a/images/top.jpg and /dev/null differ diff --git a/images/xinput-calibrator.png b/images/xinput-calibrator.png deleted file mode 100644 index 62f40c8..0000000 Binary files a/images/xinput-calibrator.png and /dev/null differ diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index bf5bb34..0000000 --- a/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -markdown -grip diff --git a/その他>Wikiの編集方法.md b/その他>Wikiの編集方法.md deleted file mode 100644 index c0e4b7c..0000000 --- a/その他>Wikiの編集方法.md +++ /dev/null @@ -1,203 +0,0 @@ - - -### 目次 - -- [準備](#%E6%BA%96%E5%82%99) -- [各種操作](#%E5%90%84%E7%A8%AE%E6%93%8D%E4%BD%9C) - - [ページを追加・削除する](#%E3%83%9A%E3%83%BC%E3%82%B8%E3%82%92%E8%BF%BD%E5%8A%A0%E3%83%BB%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B) - - [ページを編集する](#%E3%83%9A%E3%83%BC%E3%82%B8%E3%82%92%E7%B7%A8%E9%9B%86%E3%81%99%E3%82%8B) -- [各文章内の目次生成](#%E5%90%84%E6%96%87%E7%AB%A0%E5%86%85%E3%81%AE%E7%9B%AE%E6%AC%A1%E7%94%9F%E6%88%90) -- [ファイル名とサイドバーの関係](#%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%E3%81%A8%E3%82%B5%E3%82%A4%E3%83%89%E3%83%90%E3%83%BC%E3%81%AE%E9%96%A2%E4%BF%82) -- [記述ルール](#%E8%A8%98%E8%BF%B0%E3%83%AB%E3%83%BC%E3%83%AB) - - [文体](#%E6%96%87%E4%BD%93) - - [「ですます」と「だ・である」は統一する](#%E3%81%A7%E3%81%99%E3%81%BE%E3%81%99%E3%81%A8%E3%81%A0%E3%83%BB%E3%81%A7%E3%81%82%E3%82%8B%E3%81%AF%E7%B5%B1%E4%B8%80%E3%81%99%E3%82%8B) - - [依頼する時はできるだけ「します」で締める](#%E4%BE%9D%E9%A0%BC%E3%81%99%E3%82%8B%E6%99%82%E3%81%AF%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%A0%E3%81%91%E3%81%97%E3%81%BE%E3%81%99%E3%81%A7%E7%B7%A0%E3%82%81%E3%82%8B) - - [繰り返しや冗長な表現をなくす](#%E7%B9%B0%E3%82%8A%E8%BF%94%E3%81%97%E3%82%84%E5%86%97%E9%95%B7%E3%81%AA%E8%A1%A8%E7%8F%BE%E3%82%92%E3%81%AA%E3%81%8F%E3%81%99) - - [カッコは基本的に使わない](#%E3%82%AB%E3%83%83%E3%82%B3%E3%81%AF%E5%9F%BA%E6%9C%AC%E7%9A%84%E3%81%AB%E4%BD%BF%E3%82%8F%E3%81%AA%E3%81%84) - - [箇条書きには句読点を入れない](#%E7%AE%87%E6%9D%A1%E6%9B%B8%E3%81%8D%E3%81%AB%E3%81%AF%E5%8F%A5%E8%AA%AD%E7%82%B9%E3%82%92%E5%85%A5%E3%82%8C%E3%81%AA%E3%81%84) - - [感情を排除する](#%E6%84%9F%E6%83%85%E3%82%92%E6%8E%92%E9%99%A4%E3%81%99%E3%82%8B) - - [コードブロックや画像と文章の関わりを示す](#%E3%82%B3%E3%83%BC%E3%83%89%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%82%84%E7%94%BB%E5%83%8F%E3%81%A8%E6%96%87%E7%AB%A0%E3%81%AE%E9%96%A2%E3%82%8F%E3%82%8A%E3%82%92%E7%A4%BA%E3%81%99) - - [Markdown](#markdown) - - [必ずプレビューして確認する](#%E5%BF%85%E3%81%9A%E3%83%97%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E3%81%97%E3%81%A6%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B) - - [改行コードは LF に統一する](#%E6%94%B9%E8%A1%8C%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF-lf-%E3%81%AB%E7%B5%B1%E4%B8%80%E3%81%99%E3%82%8B) - - [適切な空行を入れる](#%E9%81%A9%E5%88%87%E3%81%AA%E7%A9%BA%E8%A1%8C%E3%82%92%E5%85%A5%E3%82%8C%E3%82%8B) - - [適切な空白を入れる](#%E9%81%A9%E5%88%87%E3%81%AA%E7%A9%BA%E7%99%BD%E3%82%92%E5%85%A5%E3%82%8C%E3%82%8B) - - [コードスパンとコードブロックを使い分ける](#%E3%82%B3%E3%83%BC%E3%83%89%E3%82%B9%E3%83%91%E3%83%B3%E3%81%A8%E3%82%B3%E3%83%BC%E3%83%89%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%82%92%E4%BD%BF%E3%81%84%E5%88%86%E3%81%91%E3%82%8B) - - [明示的改行はバックスラッシュで行う](#%E6%98%8E%E7%A4%BA%E7%9A%84%E6%94%B9%E8%A1%8C%E3%81%AF%E3%83%90%E3%83%83%E3%82%AF%E3%82%B9%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%E3%81%A7%E8%A1%8C%E3%81%86) - - - - -# 準備 - -依存ライブラリをインストールします。 - -```sh -$ npm install -g doctoc -$ pip3 install markdown -``` - -WikiをCloneします。 - -```sh -$ git clone https://github.com/brain-hackers/README.wiki.git -``` - - -# 各種操作 -注意: ページの編集後はサイドバーと各ページの目次の更新が必要です。ページの追加や編集をWebで行うことも可能(プレビューもあって便利)ですが、編集後は必ずWikiをCloneして `make finalize` してください。 - - -## ページを追加・削除する - - [ファイル名とサイドバーの関係](#ファイル名とサイドバーの関係)のルールに従ったファイル名でmdファイルを追加 - - 例: `大見出し > 小見出し > 項目.md` - - 記事内容を記述します - - ひととおり追加と削除が終わったら pull, `make finalize`, commit, push します - - -## ページを編集する - - 記事内容を記述します - - ひととおり編集が終わったら pull, `make finalize`, commit, push します - - -# 各文章内の目次生成 -各文章内の目次は、[doctoc](https://github.com/thlorenz/doctoc)で生成しています。 `make finalize` もしくは `make doctoc` で呼ぶことができます。 - -`_Sidebar.md` はページではないため目次生成の対象外ですが、「指定されたファイル名にスペースが入ると正しくエスケープできない」という doctoc のバグにより、 `_Sidebar.md` 以外だけ指定するということができません(PRも出ているが、2020年10月現在Mergeされていない)。よって、目次生成を走らせた後は `_Sidebar.md` をコミットしないよう注意する必要があります。 - - -# ファイル名とサイドバーの関係 -サイドバーの目次は、Wikiに含まれるMarkdown文書のファイル名から `gen.py` で自動生成しています。 `make finalize` もしくは `make generate` で呼ぶことができます。Wiki に文書を追加するか、ファイル名を変更するたびに実行する必要があります。 - -ファイル名に `>` **(不等号は全角)** が含まれていると、その左側はセクション名と解釈されます。 - -例えば、ページ `あ>い.md` は大見出し `あ` の中の `い` というページとして認識されます。 - -`あ>い.md` と `あ>い>う.md` は同時に存在できません。 `い` が単一のページなのかセクション名なのか区別できないからです。 - -サイドバーの制約から、 `>` はファイル名の中で2回まで使えます。 `あ.md` や `あ>い>う.md` は valid ですが、 `あ>い>う>え.md` は invalid です。 - -ページ名にハイフン `-` (Hyphen-Minus, U+002D) を使いたい場合、GitHub Wiki はハイフンを空白文字と同等に扱うため、そのままファイル名に入れると空白に置き換わって表示されてしまいます。これを回避するために、よく似た別なUnicode文字 `‐` (Hyphen, U+2010) を使ってください(左からコピペして使うと楽)。`U‐Boot` をタイトルに含む記事が実際の例です。 - - -# 記述ルール -Wiki の体裁について以下にルールを列挙します。コミットの前にこれらに従っているかチェックしてください。Textlint はまだありません。 - - -## 文体 -基本的には、技術文書のルールと同一です。 - - -### 「ですます」と「だ・である」は統一する -Wiki 全体で「ですます」の形で統一します。 - - -### 依頼する時はできるだけ「します」で締める -「〇〇してください」は長いので、「します」で極力統一します。不自然に映る場合は「してください」や「しましょう」を使っても OK です。この文書でも実際にどちらも使用しています。 - -### 繰り返しや冗長な表現をなくす -冗長な表現を組み込んでしまうことは多いので、極限まで削ります。 -「など」「いろいろ」「といった」「〇〇することができます」は使いがちですので特に気をつけましょう。 - -:x: 悪い例: このコマンドを使えば、Linux を起動することなどが可能です。 - -:o: 良い例: このコマンドで、Linux を起動できます。 - - -### カッコは基本的に使わない -どうしても必要な場合は、名詞の別名や補足といった1〜2単語で済む体言を入れるだけにします。 - -:x: 悪い例: Linux マシン(Ubuntu か Debian が入っていることが望ましい)を用意します。 - -:o: 良い例: Ubuntu か Debian がインストールされた Linux マシンを用意します。 - - -### 箇条書きには句読点を入れない -箇条書きは段落を表現する道具ではありません。よって、内容が極力短くなるようにしつつ、句読点を置かないようにします。 - - -### 感情を排除する -極力スムーズに読める文章になるには、感情的表現を取り除く事が必須です。 -文章は技術文書(レポート)のような無味乾燥なものにし、感情は Discord で共有しましょう。 - - -### コードブロックや画像と文章の関わりを示す -「以下にコマンド例を示します」などのように、文章と以下に連なる要素を関連付けます。 - - -## Markdown -Markdown はリッチなレンダリングがなくとも読めるシンタックスが特徴です。これを念頭に置いて、以下のルールに従ってください。 - - -### 必ずプレビューして確認する -ブラウザで文書を編集すると、コミット前に文書を HTML にレンダーするプレビューが利用可能です。ミスがないか確認してからコミットしましょう。 - -ローカルのコンソールやエディタで書く場合も、Markdown をプレビューできる環境を用意して確認してからコミットしましょう。例えば [Grip](https://github.com/joeyespo/grip) が便利です。 - - -### 改行コードは LF に統一する -Windows で特に気をつけましょう。Git は[コミット時に改行コードを LF のみに強制](https://qiita.com/uggds/items/00a1974ec4f115616580)できます。 - -`git config` で - -``` -git config --global core.autocrlf input -``` - -と設定すると、コミット時に Unix style でコミットできます。 - - -### 適切な空行を入れる -以下の箇所には1行空行を入れます。 - - - 段落と段落の間 - - プレーンテキストとプレーンテキスト以外の要素の間 - - 箇条書き - - テーブル - - 図 - - コードブロック - - 引用 - -以下の箇所には2行空行を入れます。 - - - 節と節の間 - - -### 適切な空白を入れる -プレーンテキスト以外の要素の前後に適切な空白がないと表示がおかしくなるケースがあります。この文書は GitHub での表示に限られるため空白がなくても大丈夫ですが、エディタでのシンタックスハイライトが上手くいかなくなることがありますので気をつけましょう。 - -:x: 悪い例1: `1.あいうえお` - -:o: 良い例1: `1. あいうえお` - -:x: 悪い例2: `` このコマンドには`-a`という引数を渡します。 `` - -:o: 良い例2: `` このコマンドには `-a` という引数を渡します。 `` - - -### コードスパンとコードブロックを使い分ける -コードスパンとは、`` `ident` ``のように行の中に等幅で文字を入れるスパン要素を指します。 - -コードブロックとは - -``` -echo foo -``` - -のように新しい段落で等幅に文字を入れるブロック要素を指します。 - -コードスパンはコードの識別子や短いコマンドの例示に使い、コードブロックは複数行のプログラムや長いコマンドの例示に使用します。 - -例1: `ls` コマンドには `-l` というオプションがあります。 - -例2: `ls` コマンドでファイルの詳細情報を表示するには、以下のように実行します。 - -```sh -ls -l -``` - - -### 明示的改行はバックスラッシュで行う -この節でいう明示的改行とは [Hard line breaks](https://github.github.com/gfm/#hard-line-breaks) のことで、空行による段落区切りや単一の LF による Soft line break ではなく確実に改行を入れることを指します。必要でない限りは使わないことが望ましいです。 - -明示的な改行の入れ方には行末にスペース2つを入れる方法とバックスラッシュを入れる方法がありまず。前者は通常不可視な上に意味合いがわかりづらいため、バックスラッシュを使用します。 diff --git a/とりあえず試す.md b/とりあえず試す.md deleted file mode 100644 index c748d9d..0000000 --- a/とりあえず試す.md +++ /dev/null @@ -1,174 +0,0 @@ - - -### 目次 - -- [はじめに](#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB) -- [対応している機種](#%E5%AF%BE%E5%BF%9C%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E6%A9%9F%E7%A8%AE) -- [SD カードのイメージをダウンロードする](#sd-%E3%82%AB%E3%83%BC%E3%83%89%E3%81%AE%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%82%92%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B) -- [SD カードに書き込む](#sd-%E3%82%AB%E3%83%BC%E3%83%89%E3%81%AB%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%80) - - [balenaEtcher を使う場合](#balenaetcher-%E3%82%92%E4%BD%BF%E3%81%86%E5%A0%B4%E5%90%88) - - [dd を使う場合](#dd-%E3%82%92%E4%BD%BF%E3%81%86%E5%A0%B4%E5%90%88) - - [macOS の場合](#macos-%E3%81%AE%E5%A0%B4%E5%90%88) - - [Linux の場合](#linux-%E3%81%AE%E5%A0%B4%E5%90%88) -- [実機で起動する](#%E5%AE%9F%E6%A9%9F%E3%81%A7%E8%B5%B7%E5%8B%95%E3%81%99%E3%82%8B) - - [タッチパネル](#%E3%82%BF%E3%83%83%E3%83%81%E3%83%91%E3%83%8D%E3%83%AB) - - [キーボード (Sx1, Sx2)](#%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89-sx1-sx2) - - [日本語入力する](#%E6%97%A5%E6%9C%AC%E8%AA%9E%E5%85%A5%E5%8A%9B%E3%81%99%E3%82%8B) - - - - - -# はじめに - -このページでは、SHARP Brain で Linux を動かす試みから生まれた Linux ディストリビューション **Brainux** を手軽に起動する方法をご紹介します。 - -Linux ディストリビューションは、2つの大きな要素としてカーネルとそれ以外のソフトウェアの組み合わせでできています。Brain の場合はカーネルを起動するブートローダーも SD カード上に必要なため、正確にはカーネル・ソフトウェア・ブートローダーのセットが必要になります。 - -リポジトリ [buildbrain](https://github.com/brain-hackers/buildbrain) では、Raspberry Pi と同様に SD カードに書き込むだけで起動可能にした SD イメージを公開しています。ちなみにカーネル・ソフトウェア・ブートローダーはどれも自力で準備することもできます。くわしくは本 Wiki の対応するページを参照してください。 - -質問がある場合や開発に参加したい場合は、まず [Brain Hackers の Discord](https://github.com/brain-hackers/README) に参加して頂き、「雑談」チャンネルでお気軽にご質問ください。 - - -# 対応している機種 - -2021年3月23日現在、対応している機種とハードウェアは以下の通りです。省略のため、PW-SH1 や PW-SJ1 のような同世代の機種は特記すべき差がない限りは "Sx1" のように省略形で記載します。 - -内蔵ハードウェアの対応状況や使い方については[内蔵ハードウェア](#内蔵ハードウェア)をご覧ください。キーマップもそちらに掲載しています。 - -|機種 |Linux 起動 |キーボード |タッチパネル|注釈| -|:-----|:----------------:|:----------------:|:----------:|:---| -|PW-Sx1 より前||||PW-GC610, PW-G5300 のような数字が3桁もしくは4桁の機種| -|PW-Sx1|:white_check_mark:|:white_check_mark:|:white_check_mark:|| -|PW-Sx2|:white_check_mark:|:white_check_mark:|:white_check_mark:|| -|PW-Sx3|:white_check_mark:| |:white_check_mark:|| -|PW-Sx4|:white_check_mark:| |:white_check_mark:|| -|PW-Sx5|:white_check_mark:| |:white_check_mark:|| -|PW-Sx6|:white_check_mark:| |:white_check_mark:|| -|PW-Sx7|:white_check_mark:| |:white_check_mark:|| -|PW-x1 以降|||| - - -# SD カードのイメージをダウンロードする - -[brain-hackers/buildbrain のリリースページ](https://github.com/brain-hackers/buildbrain/releases)にアクセスし、最新リリースの配布物の中から `sdimage-*.zip` と名のついた ZIP ファイルをダウンロードします。`*` には最新リリースのバージョン名が入ります。 - - -# SD カードに書き込む - -書き込むソフトは Windows / macOS / Linux のどれをお使いの場合でも利用可能な balenaEtcher がおすすめです。[公式サイト](https://www.balena.io/etcher/)にアクセスしてダウンロードしてください。 - -macOS もしくは Linux をお使いの場合は、ZIP を展開して取り出した .img ファイルを `dd` コマンドでそのまま書くことも可能です。 - - -## balenaEtcher を使う場合 - -今回は macOS で balenaEtcher を使用した際の画像で説明します。どの OS でも同様にして書き込めます。 - - 1. balenaEtcher を起動します - - 2. "Flash from file" をクリックし、ダウンロードした ZIP ファイルを選択します - - - 展開する必要はありません - - - - - - - 3. "Select target" をクリックして書き込み先を選択します - - - 正しい SD カードを選択しているか慎重に確認してください - - 4GB 以上の SD カードであればなんでも使用可能です - - SD カードの性能がシステムの使用感に直結するため高速な SD カードを使用することをおすすめします - - 画像では 8GB の SD カードを選択しています - - - - - - 4. "Flash!" をクリックして書き込みます - - - 改めて正しい SD カードが選択されているか確認した上で書き込んでください - - 書き込みには管理者権限が必要なため管理者パスワードを入力します - - - - - - - - 5. 完成! - - - - -## dd を使う場合 - -macOS もしくは Linux をお使いの場合は、`dd` コマンドでも書き込むことができます。以下にコマンド例を示します。 - - -### macOS の場合 - - - macOS では `/dev/disk*` に書き込むと非常に遅いため `/dev/rdisk*` を使用します - - どのディスクが SD カードかはディスクユーティリティを使用して確認します - -以下に実行例を示します。バージョン番号は適宜読み替えてください。 - -```sh -cd ~/Downloads -unzip sdimage-2021-02-21-162410.zip -sudo dd if=~/Downloads/sdimage-2021-02-21-162410.img of=/dev/rdisk4 bs=10M -``` - - -### Linux の場合 - -以下に実行例を示します。バージョン番号は適宜読み替えてください。 - -```sh -cd ~/Downloads -unzip sdimage-2021-02-21-162410.zip -sudo dd if=~/Downloads/sdimage-2021-02-21-162410.img of=/dev/sdc bs=10M -``` - - -# 実機で起動する - -書き込み終わった SD カードを Brain に挿入し、リセットボタンを押します。Brain のロゴが表示されたあと U-Boot が起動し、すぐ後に Linux が起動します。 - -ログイン画面が表示されたらユーザー名 `user` パスワード `brain` でログインできます。内蔵キーボードに非対応の機種では、電源供給が可能なタイプの OTG ケーブルを使用してキーボードを繋ぐと操作できます。 - -標準では jwm がウィンドウマネージャーとして起動します。他に Openbox を選択したり、`shell` を選択して X なしでコンソールを操作することも可能です。 - - -## タッチパネル - -初回起動時にタッチパネルのキャリブレーションを求められます。赤く示された十字の中心を正確にゆっくりと押してください。 - - -## キーボード (Sx1, Sx2) - -キーが非常に少ない Brain のキーボードで必要な記号を打つため、キーボードの使用方法は特殊になっています。キートップに記載されたキー以外の文字は、すべて「記号」キーと「シフト」キーを組み合わせて入力します。 - -Shift キー・Ctrl キー・Alt キーは現実のキーボードに近い配置として以下のように対応させています。 - - - Shift → 「シフト」 - - Ctrl → ページアップキー(《 を横に倒した記号のキー) - - Alt → 「文字切り替え」キー - -キーと入力される文字のマップを以下に示します。 - - - - -## 日本語入力する - -バージョン 2021-04-19-195555 より Anthy が標準でインストールされています。`~/.xprofile` の該当行のコメントを外すことで自動で起動するようになります。 - -```diff - # Uncomment the following line to enable fcitx-mozc -- # fcitx-autostart & -+ fcitx-autostart & -``` - diff --git a/ロードマップ.md b/ロードマップ.md deleted file mode 100644 index c5c1161..0000000 --- a/ロードマップ.md +++ /dev/null @@ -1,104 +0,0 @@ - - -### 目次 - -- [Linux のブート](#linux-%E3%81%AE%E3%83%96%E3%83%BC%E3%83%88) -- [キーボード](#%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89) -- [画面開閉検知](#%E7%94%BB%E9%9D%A2%E9%96%8B%E9%96%89%E6%A4%9C%E7%9F%A5) -- [音](#%E9%9F%B3) -- [タッチパネル](#%E3%82%BF%E3%83%83%E3%83%81%E3%83%91%E3%83%8D%E3%83%AB) -- [電源コントローラー](#%E9%9B%BB%E6%BA%90%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC) -- [cpufreq](#cpufreq) -- [eMMC への Linux インストール](#emmc-%E3%81%B8%E3%81%AE-linux-%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB) -- [Wi-Fi](#wi-fi) -- [LCD](#lcd) -- [Brainux のリリース](#brainux-%E3%81%AE%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9) - - - -このページでは、Linux kernel の [Brain Hackers fork](https://github.com/brain-hackers/linux-brain) における Brain のハードウェアへの対応状況と、今後のロードマップを説明します。 - - -# Linux のブート - -|キーボードの世代|対応済|説明| -|:--|:-:|:--| -|3桁世代, G4000, G5000, G5100, A7000, A9000||TOSHIBA TMPA910CRAXBG| -|4桁世代, Sx1 〜 Sx7|:white_check_mark:|NXP i.MX283| -|x1||NXP i.MX7| - - -# キーボード - -|キーボードの世代|対応済|説明| -|:--|:-:|:--| -|3桁世代||SoC が直接キーマトリクスを読む| -|4桁世代, Sx1 〜 Sx2|:white_check_mark:|MPU がキーマトリクスを読み SoC に I²C で送信| -|Sx3 〜 Sx7||SoC が直接キーマトリクスを読む| -|x1|詳細不明|| - - -# 画面開閉検知 - - - 開閉イベントの伝達はキーイベントと同じ経路を辿る - - キーボードの実装に依存する - -|キーボードの世代|対応済|説明| -|:--|:-:|:--| -|3桁世代||SoC が直接キーマトリクスを読む| -|4桁世代, Sx1 〜 Sx2||MPU がキーマトリクスを読み SoC に I²C で送信| -|Sx3 〜 Sx7||SoC が直接キーマトリクスを読む| -|x1||詳細不明|| - - -# 音 - - - Brain に内蔵されているスマートアンプには大きく分けて Yamaha 系と Rohm 系がある - - 録音も再生も2021年2月23日現在解析中で非対応 - - -# タッチパネル - - - バージョン 2021-03-22-233911 より PW-Sx1 〜 PW-Sx7 で対応 - - 初回起動時にキャリブレーションを自動実行 - - -# 電源コントローラー - - - 2021年2月23日現在未対応のため充電状態の表示などは一切不可 - - -# cpufreq - - - CPU のクロック制御は2021年2月23日現在なし - - -# eMMC への Linux インストール - - - 研究中 - - -# Wi-Fi - -Wi-Fi の接続は複数の手法が提案されていて、現在検証中。 - - - SDIO Wi-Fi チップ - - USB ドングル - - -# LCD - -一部については実装が完了。ただし、DMA を使用しない非効率な実装になっているため、改善が必要。 - -|世代|対応済み| -|:--|:-:| -|3桁世代|| -|4桁世代|| -|Sx1 〜 Sx7|:white_check_mark:| -|x1|| - - -# Brainux のリリース - -当面は Development リリースや Stable リリースのような区分は設けず、[brain-hackers/buildbrain](https://github.com/brain-hackers/buildbrain) リポジトリのタグを直接バージョンとする。リリース間隔やスケジューリングも行わない。 -