Raspberry Pi Tips

INDEX

種類の概要

メモ

Pi4以前のモデルは、SDカードの速度が22MB/s程度で頭打ちになる。
よって、早いSDカードを使っても恩恵は無い。
Pi4からはSDカードインタフェースが高速化され、さらに32GBを超えるSDXCも使用できるようになったらしい。

Image取得先

https://www.raspberrypi.org/downloads/raspbian/

USBポートの供給能力を1200mAに拡大する

いずれも全ポート合計の給電能力を示す。

Bluetoothを無効にしてUARTを有効にする

/boot/config.txt

# Enable UART (without Bluetooth)
enable_uart=1
dtoverlay=pi3-disable-bt

BluetoothとUARTを有効にする

/boot/config.txt

# Enable UART
enable_uart=1
dtoverlay=pi3-miniuart-bt

BtとUARTを同時に使用する場合はMiniUART機能を使う。制約があるので注意。
詳細はこちら→ RasPi_uart

Network関係

SSHを有効化

デフォルトではSSHが無効になっているので、有効化しないといろいろ大変です。
/boot(FATパーティション)に「ssh」という空ファイルを置けば良い。
イメージ焼いた直後にやってしまうと良いでしょう。

WiFi接続

/etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
        ssid="BWT_Net"
        psk="PASSWORD"
        key_mgmt=WPA-PSK
        priority=0
}

network={
        ssid="BWT_Net_mobile"
        psk="PASSWORD"
        key_mgmt=WPA-PSK
        priority=1
}

IPアドレスを固定にする

/etc/dhcpcd.conf

# Fixed address
interface wlan0
static ip_address=192.168.1.52/24
static routers=192.168.1.254
static domain_name_servers=192.168.1.1

NTPで時刻同期

ntpをインストール

$ sudo apt install ntp

/etc/ntp.confを編集

#pool 0.debian.pool.ntp.org iburst
#pool 1.debian.pool.ntp.org iburst
#pool 2.debian.pool.ntp.org iburst
#pool 3.debian.pool.ntp.org iburst
pool ntp.nict.jp iburst

サービスを再起動

$ sudo service ntp restart

状態を確認

$ ntpq -p

不要なサービスを停止させる

chkconfigをインストール

sudo apt install chkconfig

サービスを停止

$ sudo chkconfig triggerhappy off
$ sudo chkconfig plymouth off
$ sudo chkconfig alsa-utils off

コンソールログイン時に表示されるメッセージを消す

/etc/motdを編集する。
何も表示させたくなければ

$ touch ~/.hushlogin

と、しておけば良い。

RaspberryPi SDカードイメージをLinuxでマウント

配布用SDカードイメージを作成後に、一部のファイルだけを差し替えたくなった時に活用できる。
特にパーティションサイズを変更して配布イメージサイズを小さくしている場合に便利。
通常の考え方だと、一度イメージをSDカードに書き出してから編集。その後、再度イメージファイルを作成する手順となる。
この手順であれば、SDカードを介在せずに目的を達成できる。

パーティション状態を調べる

$ fdisk -l -u 2017-04-10-raspbian-jessie-lite.img

ディスク 2017-04-10-raspbian-jessie-lite.img: 1297 MB, 1297862656 バイト
ヘッド 255, セクタ 63, シリンダ 157, 合計 2534888 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x84fa8189

                            デバイス  ブート    始点        終点    ブロック   Id  システム
2017-04-10-raspbian-jessie-lite.img1            8192       92159       41984    c  W95 FAT32 (LBA)
2017-04-10-raspbian-jessie-lite.img2           92160     2534887     1221364   83  Linux

第2パーティションをマウントするため、オフセット値を計算する

第2パーティションの開始セクタは92160なので、セクタサイズ512をかけて「92160×512=47185920」になる。

マウントする

# mkdir /mnt/RasPi
# mount -t ext4 -o loop,offset=47185920 2017-04-10-raspbian-jessie-lite.img /mnt/RasPi

MIDI関係

aconnectの使い方

ONECONTROL Gecko MkIIIでのコントロール

この機種はPROGRAM CHANGEだけでなくBANK情報も送ってしまいます。
したがって、EWI-5000で使用するとFACTORY PRESET(赤LED)の方になってしまい、USER PRESET(緑LED)が使えません。
これに対応するために、MIDI FILTERを導入します。

使い方はこちら
http://das.nasophon.de/mididings/

UM-ONE→mididings(FILTER)mididings→EWI-5000

Read Only ファイルシステムの構築

http://flogics.com/wp/ja/2017/10/raspbian-os%E3%81%AEsd%E3%82%AB%E3%83%BC%E3%83%89%E3%82%92%E3%83%AA%E3%83%BC%E3%83%89%E3%82%AA%E3%83%B3%E3%83%AA%E3%83%BC%E5%8C%96%E3%81%99%E3%82%8B%EF%BC%88initrd-%E7%B7%A8%EF%BC%89/

497行目付近にoverlayを追加する
下記の例では4行目の末尾。

for arg in "$@" ; do
    case "$arg" in
    base)   
        modules="$modules btrfs ext2 ext3 ext4 ext4dev overlay"
        modules="$modules isofs jfs reiserfs udf xfs"

ファイル中の local_mount_root() という関数定義の中を変更する。

        local_premount

#       if [ "${readonly}" = "y" ]; then
                roflag=-r
#       else
#               roflag=-w
#       fi

        # FIXME This has no error checking
        modprobe ${FSTYPE}

        checkfs ${ROOT} root

        # FIXME This has no error checking
        # Mount root
        mkdir /upper /lower
        if [ "${FSTYPE}" != "unknown" ]; then
            mount ${roflag} -t ${FSTYPE} ${ROOTFLAGS} ${ROOT} /lower
        else
            mount ${roflag} ${ROOTFLAGS} ${ROOT} /lower
        fi
        modprobe overlay
        mount -t tmpfs tmpfs /upper
        mkdir /upper/data /upper/work
        mount -t overlay \
            -olowerdir=/lower,upperdir=/upper/data,workdir=/upper/work \
            overlay ${rootmnt}
}

コメントアウト4カ所。
「checkfs ${ROOT} root」の追加。
「mkdir /upper /lower」の追加。
「/lower」の追加2カ所。

       modprobe overlay
       mount -t tmpfs tmpfs /upper
       mkdir /upper/data /upper/work
       mount -t overlay \
           -olowerdir=/lower,upperdir=/upper/data,workdir=/upper/work \
           overlay ${rootmnt}

以上の追加。

バージョンにv7が含まれているかどうかが重要。
含まれていなければ以下の記述で7を削除して編集を行う。

頭に「boot=overlay」追加と、途中の「root=/dev/mmcblk0p2」を書き換える。

$ mount | fgrep ' / '

こう出たら成功

overlay on / type overlay (rw,noatime,lowerdir=/lower,upperdir=/upper/data,workdir=/upper/work)

こう出たら失敗

/dev/mmcblk0p2 on / type ext4 (rw,noatime,data=ordered)

USB-UARTケーブル(3.3V)

USB-UART.PNG

GPIOピン配列

GPIO.png

if Up/Down

ip-up/if-downコマンドは無くなりました。

ifconfig eth0 down~
ifconfig wlan0 up

RaspberryPi Zeroの左USBをUSB-UARTに見るよう設定してコンソールにする

RaspberryPi Zeroの左USBをUSB-LANに見るよう設定する

HDMIモニターにコンソールを出さなくする

login:とかコンソールメッセージが出ないようにしたいとき。
/boot/cmdline.txtの中の「console=tty1」を削除してやれば良い。
ただし、USBキーボードでloginは出来なくなるので、sshかserialからloginする。
cmdline.txtの例:

dwc_otg.lpm_enable=0 console=serial0,115200 root=PARTUUID=bad0fa01-02 rootfstype=ext4 elevator=deadline ipv6.disable=1 rootwait modules-load=dwc2,g_serial quiet logo.nologo vt.global_cursor_default=0 force_turbo=1

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS