2018年10月1日月曜日

Raspberry Pi 3 デバイスドライバ作成 Part1

[前提]
  • HW : Raspberry pi 3
  • OS : Raspbian Stretch with Desktop

[やったこと]
gccでコンパイルとかできないといけない。
Linuxのデバイスドライバ開発では,Linuxのソースコードとヘッダが必要らしい。

メインで参考にしたURLは以下。

まずは,以下のコマンドを実行したい。
  1. sudo apt-get install build-essential
  2. sudo apt-get install git
  3. cd /usr/src
  4. sudo apt-get install linux-image-rpi-rpfv
  5. sudo apt-get install linux-headers-rpi-rpfv
しかし,4で失敗する。
エラー内容は,以下の通り。
  • ・・・へのハードリンクの作成に失敗しました : 許可されていない操作です
  • dpkg: パッケージ initramfs-tools の処理中にエラーが発生しました (--configure)
  • サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 1 を返しました
  • etc.
調べたところ,BOOT領域が足りないのが原因っぽい。
以下のコマンドを実行した。
  1. sudo apt-get remove linux-image-4.9.0-6-rpi
    (4.9.0-6は,OSのバージョン。適宜変更のこと)
  2. sudo apt-get autoremove
  3. sudo apt-get dist-upgrade
その後,失敗していたコマンドを実行する。
  1. sudo apt-get install linux-image-rpi-rpfv
  2. sudo apt-get install linux-headers-rpi-rpfv
エラーを吐くことなく,正常に終了。

このエラーで参考にしたURLは以下。


つぎに,インストールした,linuxイメージをboot時に読み出すために,
/boot/config.txt に追加編集する。
  1. sudo vi /boot/config.txt
追加するのは,以下の文。
# Add chuchulabo : Parameters to boot on raspbian kernel(linux-image-rpi-rpfv package)
kernel=vmlinuz-4.9.0-6-rpi
initramfs initrd.img-4.9.0-6-rpi followkernel

そして,再起動。
  1. sudo reboot

そして・・・
SSHでRaspberry piに繋がらなくなりました!
うおーい!!!
間違いなく,config.txtをいじったのが悪いんやけど・・・


/********** 続く **********/


0 件のコメント:

コメントを投稿