Compose tips

Takumi Sueda 2021-02-23 20:29:16 +09:00
parent 5a004945a4
commit 8ffe9a5066
4 changed files with 118 additions and 0 deletions

@ -8,6 +8,9 @@
# 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)
# Tips
- [USB Ethernet Gadget](Tips%EF%BC%9EUSB-Ethernet-Gadget)
- [Xorgの動かし方](Tips%EF%BC%9EXorg%E3%81%AE%E5%8B%95%E3%81%8B%E3%81%97%E6%96%B9)
# UBoot
- [ビルド](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)

@ -0,0 +1,70 @@
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
### 目次
- [USB Gadget とは?](#usb-gadget-%E3%81%A8%E3%81%AF)
- [Why USB Gadget?](#why-usb-gadget)
- [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)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
# USB Gadget とは?
コンピューターがあたかも USB デバイスであるかのように振る舞う仕組みです。
# Why USB Gadget?
インターネットに接続可能なパソコンに USB で Brain を接続するだけで Brain からインターネットに出たり、パソコンと Brain で双方向に SSH したりできるようになります。電池切れの心配もありません。
# 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 ごとに設定方法は異なりますので、別途設定してください。

@ -0,0 +1,42 @@
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
### 目次
- [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)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
# 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 &
```
以上を実行した後にお好みのソフトを起動してください。

@ -6,6 +6,9 @@
# 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)
# Tips
- [USB Ethernet Gadget](Tips%EF%BC%9EUSB-Ethernet-Gadget)
- [Xorgの動かし方](Tips%EF%BC%9EXorg%E3%81%AE%E5%8B%95%E3%81%8B%E3%81%97%E6%96%B9)
# UBoot
- [ビルド](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)