Raspberry Pi (Jessie) の ブートプロセスとsystemdのメモ
Raspberry Pi のブートプロセスの殴り書き。気が向いたら書き足す。全体の流れ
- GPUがROMのBootloader 実行
- microSDマウント
- bootcode.bin 実行
- loader.bin 実行
- GPU firmware(start.elf)読込
- config.txt、cmdline.txt、kernel.img を読込
- カーネルがsystemd(/init)を実行
- udev起動、microSDマウント
- /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=1 | HDMI互換を最大にする 下記と同等 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=1 | HDMIへの映像出力強制 |
hdmi_ignore_edid=0xa5000080 | EDID信号を無視 |
config_hdmi_boost=4 | 信号強度。5がデフォ。11が最大 |
hdmi_group=2 | 1:CEA(TV用インターレース) 2:DMT(PC用プログレッシブ) 0:EDID信号に従う(デフォ) |
hdmi_mode=87 | 解像度設定。4だとCEAで720p/60Hz、DMTで640x480/60Hz 87 は1680x1050 @ 60Hz ? |
disable_overscan=0 | 0:余白設定有効 1:余白設定無効 |
overscan_left=24 | 画面左側を24px余白に |
hdmi_drive=2 | 1: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 0 | h_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=1 | USB電流の制限値を0.6A→1.2Aへ |
dtparam=i2c_arm=on | i2c有効化 |
dtparam=spi=on | SPI有効化 |
dtparam=audio=on | オンボードの音声有効化 |
dtoverlay=w1-gpio-pullup,gpiopin=4 | 1-wire有効化 |
cmdline.txt
カーネルパラメータとして起動時にカーネルに渡すもの。設定 | 説明 |
---|---|
dwc_otg.lpm_enable=0 | LPM supportの無効化。 |
console=ttyAMA0,115200 | シリアルコンソール用 |
console=tty1 | コンソール用 |
root=/dev/mmcblk0p2 | rootファイルシステムの指定 |
rootfstype=ext4 | rootファイルシステムのフォーマット指定 |
elevator=deadline | I/Oスケジューラをdeadlineに |
fsck.repair=yes | 起動時のfsckのとき、yesで回答 |
rootwait | rootファイルシステムがアクセス可能になるまで待つ |
ip=192.168.0.10 | IPアドレス設定。 これを使えばPCとLANケーブルだけでRasPiを扱えるみたい。 |
systemdコマンドメモ
コマンド | 説明 |
---|---|
systemctl start サービス名 | 起動 |
systemctl stop サービス名 | 停止 |
systemctl restart サービス名 | 再起動|
systemctl reload サービス名 | リロード|
systemctl status サービス名 | ステータス|
systemctl is-active サービス名 | 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
Raspberry Pi2(Linux Kernel)のブートシーケンスを読む
http://elinux.org/RPiconfig
http://elinux.org/RPi_cmdline.txt
Chapter 13. DRACUT.BOOTUP - kernel.org
systemd を理解し、使いこなす
http://elinux.org/RPiconfig
http://elinux.org/RPi_cmdline.txt
Chapter 13. DRACUT.BOOTUP - kernel.org
systemd を理解し、使いこなす
登録:
コメントの投稿
(
Atom
)
0 件のコメント :
コメントを投稿
ご来訪者様の判別のため、
匿名希望の方もコメントの記入者欄に「名前/URL」 を選択し、
テキトーなペンネームを入れてくださいm(_ _)m
※ URLは不要。書いていただいてもOK。