Raspberry Pi (Jessie) の ブートプロセスとsystemdのメモ

0 件のコメント
Raspberry Pi のブートプロセスの殴り書き。気が向いたら書き足す。

全体の流れ

  1. GPUがROMのBootloader 実行
  2. microSDマウント
  3. bootcode.bin 実行
  4. loader.bin 実行
  5. GPU firmware(start.elf)読込
  6. config.txt、cmdline.txt、kernel.img を読込
  7. カーネルがsystemd(/init)を実行
  8. udev起動、microSDマウント
  9. /etc/systemd/system/ (実体は/lib/systemd/system/)をsystemdが起動

config.txt

Raspberry Pi にはBIOS がないので、通常BIOSにあるようなシステム設定のパラメータは、config.txt に保存する。
現在有効な設定の確認(一部対象外も)。
vcgencmd get_config <設定>

ここでは使いそうなものだけ。SHARP IGZO用はココ参照
設定説明
disable_camera_led=1
hdmi_safe=1HDMI互換を最大にする
下記と同等
hdmi_force_hotplug=1, hdmi_ignore_edid=0xa5000080, config_hdmi_boost=4, hdmi_group=2, hdmi_mode=4, disable_overscan=0, overscan_left=24, overscan_right=24, overscan_top=24, overscan_bottom=24
hdmi_force_hotplug=1HDMIへの映像出力強制
hdmi_ignore_edid=0xa5000080EDID信号を無視
config_hdmi_boost=4信号強度。5がデフォ。11が最大
hdmi_group=21:CEA(TV用インターレース)
2:DMT(PC用プログレッシブ)
0:EDID信号に従う(デフォ)
hdmi_mode=87解像度設定。4だとCEAで720p/60Hz、DMTで640x480/60Hz
87 は1680x1050 @ 60Hz ?
disable_overscan=00:余白設定有効
1:余白設定無効
overscan_left=24画面左側を24px余白に
hdmi_drive=21:DVIモード(音声なし)
2:HDMIモード(音声あり)
display_rotate=0ディスプレイの回転角度
hdmi_pixel_freq_limit=200000000ピクセルクロック上限設定。デフォは163,682,864
hdmi_timings=1200 0 164 8 32 1920 0 12 2 6 0 0 0 60 0 163430000 0h_active_pixels h_sync_polarity h_front_porch h_sync_pulse h_back_porch v_active_lines v_sync_polarity v_front_porch v_sync_pulse v_back_porch v_sync_offset_a v_sync_offset_b pixel_rep frame_rate interlaced pixel_freq aspect_ratio
max_usb_current=1USB電流の制限値を0.6A→1.2Aへ
dtparam=i2c_arm=oni2c有効化
dtparam=spi=onSPI有効化
dtparam=audio=onオンボードの音声有効化
dtoverlay=w1-gpio-pullup,gpiopin=41-wire有効化

cmdline.txt

カーネルパラメータとして起動時にカーネルに渡すもの。
設定説明
dwc_otg.lpm_enable=0LPM supportの無効化。
console=ttyAMA0,115200シリアルコンソール用
console=tty1コンソール用
root=/dev/mmcblk0p2rootファイルシステムの指定
rootfstype=ext4rootファイルシステムのフォーマット指定
elevator=deadlineI/Oスケジューラをdeadlineに
fsck.repair=yes起動時のfsckのとき、yesで回答
rootwaitrootファイルシステムがアクセス可能になるまで待つ
ip=192.168.0.10IPアドレス設定。
これを使えばPCとLANケーブルだけでRasPiを扱えるみたい。

systemdコマンドメモ


再起動リロードステータスActiveチェック稼働中サービスをリスト定義サービスをリスト
コマンド説明
systemctl start サービス名起動
systemctl stop サービス名停止
systemctl restart サービス名
systemctl reload サービス名
systemctl status サービス名
systemctl is-active サービス名
systemctl list-units --type service --all
systemctl list-unit-files --type=service
systemctl enable サービス名自動起動ON
systemctl disable サービス名自動起動OFF
systemctl is-enabled サービス名自動起動チェック

ランレベル関連

こんな方法になるのかと思ったが、
update-rc.d gdm3 disable
vi /etc/X11/default-display-manager
こっちが正解。
# systemctl get-default
graphical.target
# systemctl set-default multi-user.target
# ls -al /lib/systemd/system/runlevel*target 
lrwxrwxrwx 1 root root 15 10月 25 08:09 /lib/systemd/system/runlevel0.target -> poweroff.target 
lrwxrwxrwx 1 root root 13 10月 25 08:09 /lib/systemd/system/runlevel1.target -> rescue.target 
lrwxrwxrwx 1 root root 17 10月 25 08:09 /lib/systemd/system/runlevel2.target -> multi-user.target 
lrwxrwxrwx 1 root root 17 10月 25 08:09 /lib/systemd/system/runlevel3.target -> multi-user.target 
lrwxrwxrwx 1 root root 17 10月 25 08:09 /lib/systemd/system/runlevel4.target -> multi-user.target 
lrwxrwxrwx 1 root root 16 10月 25 08:09 /lib/systemd/system/runlevel5.target -> graphical.target 
lrwxrwxrwx 1 root root 13 10月 25 08:09 /lib/systemd/system/runlevel6.target -> reboot.target


0 件のコメント :

コメントを投稿

ご来訪者様の判別のため、
匿名希望の方もコメントの記入者欄に「名前/URL」 を選択し、
テキトーなペンネームを入れてくださいm(_ _)m
※ URLは不要。書いていただいてもOK。