ホーム
ニュース e-mail

業務連絡:Raspbian-Lite



手順の一部を修正しました。
 − 2018年1月9日 takezou


現在、各サーバーラックには1台ずつの「サーバーコントローラ」が設置されています。「サーバーコントローラ」の本体はシングルボードコンピュータ Raspberry Pi 3 Model B (以降RP3B)であり、OSには Raspbian-Stretch-Lite と X Window System がインストールされています。デスクトップ環境/ウインドウマネージャ/ディスプレイマネージャはいずれもインストールされていません。万一動作に不具合が発生した場合は、ハードウエアまたはSDカードの交換(準備してあります)が簡単でお薦めです。このページは、「までもちょっと息抜きにやってみるか」と思われる方のための、再インストールの手順です。
 − 2017年10月28日 takezou






_________________________________
_________________________________
_________________________________






1. ディスクイメージのダウンロード/解凍/SDカードへの書込み(PCにて作業)

  ・raspbian-stretch-light (by raspberrypi.org) をダウンロード
  ・#unzip [zipped file name]
  ・SDカードを挿入する
  ・#fdisk -l でSDカードのデバイス名を調べておく
  ・#dd bs=1M if=[unzipped file name] of=/dev/[device name] conv=fsync
  (最大限注意!出力先を間違えると大事故に)
  (入出力先に外付けHDDを指定しない/外付けHDD等重要なメディアを外してからdd)
  ・#sync
  ・SDカードをアンマウントしてから抜く
  (注:抜く前にSDカードにアクセスしないこと)



2.SSH用スイッチの作成(PCにて作業)

  ・SDカードを再度挿入/マウント(新しいファイルシステムでマウントされる)
  ・#touch [mountpoint]/boot/ssh
  (ブートパーティションの下に空のファイル ssh を作る)
  (ルートファイルシステムの下のbootディレクトリ [mountpoint]/rootfs/boot/ ではない)
  ・SDカードをアンマウントしてから抜く



3.本体の起動(RP3B本体にて作業)

  ・電源ケーブルを抜いておく
  ・SDカードを挿入
  ・LANケーブル(DHCPが有効であること)を挿入
  ・電源ケーブルを挿入



4.ssh接続によるRP3Bの設定(PCにて作業)

  4−1.ユーザ整理
【$ssh pi@192.168.xxx.xxx で接続(初期パスワードはraspberry)】
  ・$su
  ・#adduser newuser(新ユーザ:パスワードも必要)
  ・#exit (piをログアウト)
【$ssh newuser@192.168.xxx.xxx で接続しなおす】
  ・$su
  ・#userdel -r pi(デフォルトユーザを削除)
  ・#passwd root(rootログインのため)
  ・#visudo

  4−2.基本設定
  ・通信用設定ファイルの編集
    @ /etc/dhcpcd.config
     (以下、最下行に追加:注:ens4でなくeth0)
    --- interface eth0
    --- static ip_address=192.168.xxx.xxx/24
    --- static routers=192.168.xxx.xxx
    --- static domain_name_servers=192.168.xxx.xxx
    --- interface wlan0
    --- static ip_address=192.168.xxx.xxx/24
    --- static routers=192.168.xxx.xxx
    --- static domain_name_servers=192.168.xxx.xxx
    @ /etc/hostname(ホスト名定義)
    @ /etc/ssh/sshd_config(rootログインを許可)
    @ /etc/wpa_supplicant/wpa_supplicant.conf(WiFiのSSIDとパスフレーズ:コピーあり)
  ・ファイアーウォール用ファイルの追加
    @ /home/newuser/mysystem/myfirewall を追加(内容は iptables:コピーあり)
    @ /etc/systemd/system/myservice.service を追加(スクリプト myfirewall の起動用:コピーあり)
  ・#systemctl enable myservice.service(オリジナルサービスを systemd にマージ)
  ・キーボード設定ファイルの編集
    @ /etc/default/keyboard
    --- XKBMODEL="jp106"
    --- XKBLAYOUT="jp"
  ・#dpkg-reconfigure locales(ロケール追加)
    --- en-US UTF-8 と ja-JP UTF-8 を追加する
    --- デフォルトはGBのまま
  ・#timedatectl set-timezone Asia/Tokyo(タイムゾーン変更)

  4−3.起動設定ファイルを編集
    @ /boot/config.txt
     (以下変更:表示解像度)
    --- hdmi_group=1
    --- hdmi_mode=4 (720p/60Hz:画素数以下の最大値が良い)
     (以下最下行に追加:基板上LED起動OFF)
    --- dtparam = act_led_trigger=none,act_led_activelow=on
    --- dtparam = pwr_led_trigger=none,pwr_led_activelow=on
    @ /boot/cmdline.txt(logo.nologoの追加など表示を調整)

  4−4.SDカードの拡張
  ・#raspi-config
   --- Expand Filesystem を実行

  4−5.シャットダウン
  ・#halt -p



5.本体の再起動(RP3B本体にて作業)
  ・電源ケーブルを一旦抜いて再挿入



このあたりから、RP3B本体を、PC上の debian(stretch) と同じ要領で扱うことができます。
キーボードとHDMIディスプレイを接続し、ローカルで使ってみてください。
(但し、ウインドウマネージャ/ディスプレイマネージャ/デスクトップ環境すべて無し)
(X Window System のみ必要に応じてあとでインストールすると良い)

<アップデート>
・apt update を実行しておく(注意:apt upgrade は行わないこと:安全のため)

<X Window System と gtk のインストール(サーバーコントロールプログラム用)>
・xserver-xorg をインストール
・xinit をインストール
・libgtk-3-0 をインストール(gtkプログラムの実行用)
・libgtk-3-dev をインストール(gtkの実機コンパイル用)

<自動起動の設定>
・自動ログイン:/etc/systemd/system/getty@tty1.service.d/autologin.conf など作成、ExecStart で agetty --autologin
・ユーザーアプリケーション:~/.bash_profile に記載(xinitはここに:execだとforkしないので終了はログアウト=自動ログイン)
・X上のプログラムはさらに:~/.xinitrc に記載(/etc/X11/xinit/xinitrc をコピーして標準XTERMセッションを削除)

<サーバーコントロールプログラムのインストール>
⇒ 専用のマニュアルページを参照のこと

<エンベデッド向け起動処理/マウント>
⇒ 専用のマニュアルページを参照のこと
			






---付録---

現在使っている「サーバーコントローラ」のうち1台は、出勤日の昼休みになると自動的に YouTube のプレイリストを全画面で再生します。その構成手順もここで簡単に紹介しておきます。

・youtube-dl を yt-dl.org から直接 wget、これを /usr/local/bin などに入れておく(youtube-dl -U で最新アップデートが可能)
・omxplayer をインストール
・vchiqをvideoグループとする
 /etc/udev/rules.d/nn-xx.rules などルールファイルを作成、SUBSYSTEM=="vchiq",GROUP="video",MODE="0660"をセット
・videoグループにユーザを追加する
 adduser hoge video
・プレイリスト毎にシェルスクリプトを作成
 for ur in `youtube-dl --playlist-end=10 --format best -g [URL of PlayList]`; do omxplayer -b --vol -700 "$ur"; done
 (== プレイリストの内容を上から順に複数(10)、動画のURLを1つずつ omxplayer に渡して再生させる(vol: 音量調整))
			
これでシェルスクリプトを実行すれば、そのプレイリストから動画のURLが読込まれ(30秒ほど)、続いて再生が始まります。あとは時刻を指定して好みのシェルスクリプトを自動起動するなど、適宜設定をお願いします。表示関連の指定(omxplayerのオプションと表示解像度)を誤らなければ、映像や音声に乱れや停止/飛びなどは無く、連続再生時のCPU温度も、指で触れていられない程には上がりません。(放射温度計MINOLTA505Aで測定したところ、パッケージ表面で室温+13~14℃でした。)

<ショートカット>
p		ポーズと再開([space]も同じ)
>		早送り(< 巻き戻しは効かないかも)
→		30秒進める
←		30秒戻す
+		音量アップ
-		音量ダウン
ctrl-c		omxplayerを停止してリストの次へ(2回連打でforループ終了) 
			



ビーウエイブ・テクノロジー
bieewave.com