• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

NaO@MZ20のブログ一覧

2021年01月29日 イイね!

[memo] WaveShare 4インチLCD(SPI,タッチパネル付き,480x320)をRpi4+Fedora33で動かす!

[memo] WaveShare 4インチLCD(SPI,タッチパネル付き,480x320)をRpi4+Fedora33で動かす!モノは、これ↓

https://www.aliexpress.com/item/32241163286.html

SPI 4インチ 480x320 だけど、SPI 3.5インチ 480x320とコントローラー的には同じみたい。










まずは、Raspiosで作業

①OSイメージ作成

# wget http://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2020-08-24/2020-08-20-raspios-buster-arm64.zip
# unzip 2020-08-20-raspios-buster-arm64.zip
# dd if=2020-08-20-raspios-buster-arm64.img of=/dev/sdX status=progress

②OS起動、初期設定

$ sudo apt update
...
$ sudo apt full-upgrade
...
$ sudo reboot

③LCD設定

$ git clone https://github.com/waveshare/LCD-show.git
$ cd LCD-show
$ ./LCD35-show

■勝手に再起動

■タッチパネルのキャリブレーション

$ sudo apt-get remove xinput-calibrator:armhf
$ sudo apt-get install xinput-calibrator
$ xinput_calibrator
(結果が出力される)
$ sudo vi /etc/X11/xorg.conf.d/99-calibration.conf
$ sudo reboot

次に、Fedora33で作業

① LCD設定

$ git clone https://github.com/waveshare/LCD-show.git
$ cd LCD-show
$ ./LCD35-show

■エラーでるけどとりあえず無視 (debian系のコマンド実行してるため)
■勝手に再起動

② Raspiosで使用したイメージからファイルを吸い上げ

# mount /dev/sdX2 /mnt/work
# mkdir /usr/lib64/aarch64-linux-gnu
# cd /usr/lib64/aarch64-linux-gnu
# cp -pr /mnt/work/usr/lib/aarch64-linux-gnu/libbcm_host.so.0 .
# ln -s libbcm_host.so.0 libbcm_host.so
# cp -pr /mnt/work/usr/lib/aarch64-linux-gnu/libvchiq_arm.so.0 .
# cp -pr /mnt/work/usr/lib/aarch64-linux-gnu/libvcos.so.0 .
# cd /usr/local/bin
# cp -pr /mnt/work/usr/local/bin/fbcp .
# cd /usr/share/X11/xorg.conf.d
# rm -rf *.conf
# cp /mnt/work/usr/share/X11/xorg.conf.d/*.conf .

③ファイル修正

# vi /etc/rc.d/rc.local
/usr/local/bin/fbcp >/dev/null 2>&1 &

以上!

まとめると、

①Raspios上で正常に動作するようにする
②Fedora33上のkernel overlayドライバの設定
③Fedora33へfbcpとそれに必要なライブラリのコピー
 Raspios上でやらないとヘッダーとかライブラリとかないので。。。
 できたバイナリファイルをコピーして使う。
④Fedora33の自動実行設定(fbcp)
⑤Fedora33のX11の設定(タッチパネルのキャリブレーション)

ですね。

以前(kernel 4.x時代)は、kernel moduleのfbtft_deviceを使うしかなかったのですが、これが、kernel 5.xでは廃止になってたようで。
久々に、waveshareのLCD35-showしたら、方式が変わってた。
fbcpで無理やりですが。。。

まぁ、でも、kernel 5.xでも、表示&タッチがちゃんと動いてよかった。^^

■おまけ

Fedora は、ちょっと前から正式に、Raspberry Pi2/Pi3/Pi4はサポートしている。

arm-image-installer

でイメージを作成できるのですが、
Rpi4+aarch64な場合、
UEFI bootなイメージだった。

それは、それでいいのですけど、ブートに若干時間がかかるんですよね。。。
efi起動してそれからgrub2起動して、そんでもってkernelなので、、

というわけで、最新なRaspiosのファイルシステム上書きが結構いい感じな環境かなと。

具体的には、
01. Raspiosのイメージを作る
02. ↑で起動する
03. シャットダウン
04. Fedoraのイメージを作る
05. ↑で起動する
06. シャットダウン
07. Fedoraのイメージを適当なLinuxマシンへマウント
# mkdir /mnt/fedora
# mount /mnt/fedora
08. etc usr varをバックアップ
# cd /fedora
# tar cvzpf /etc.tgz etc
# tar cvzpf /usr.tgz usr
# tar cvzpf /var.tfz var
09. Raspiosのお目ー時を適当なLinuxマシンへマウント
# mkdir /mnt/raspios
# mount /dev/sdX2 /mnt/raspios
10. ファイルを上書き
# cd /mnt/raspios
# mv etc _etc
# mv usr _usr
# mv lib _lib
# mv var _var
# mv bin _bin
# mv sbin _sbin
# tar xvzpf /etc.tgz
# tar xvzpf /usr.tgz
# tar xvzpf /var.tgz
# ln -s usr/lib lib
# ln -s usr/lib64 lib64
# ln -s usr/bin bin
# ln -s usr/sbin sbin
# cd _lib/modules
# tar cpf - .|(cd ../../usr/lib/modules; tar xvzpf - )
# cd ../../
# cp -p _etc/fstab etc/fstab
# rm -rf etc/ssh/ssh_*key*
11. アンマウント
# cd /
# umount /mnt/fedora
# umount /mnt/raspios

これで、bootloader回りとkernelとmodulesはRaspiosのもので、他のファイルは、Fedoraになったイメージのできあがり。

以上!
Posted at 2021/01/29 16:16:38 | コメント(0) | トラックバック(0) | Raspberry Pi | パソコン/インターネット

プロフィール

「@BGFK さん、ですよね〜😊居住確認入りますしね〜。引っ越し渦中は、マイナンバーと免許の住所変更を時間差でやって、どちらの自治体でも捨てれるようにしてました。😆」
何シテル?   05/08 18:45
NaOです。よろしくお願いします。 72年式です https://nao.soarer.org/ 活動拠点 富士宮→沼津→富士宮→沼津→富士→富...
みんカラ新規会員登録

ユーザー内検索

<< 2021/1 >>

     12
3456 789
10111213141516
17181920 21 2223
242526 2728 2930
31      

リンク・クリップ

ヘッドライト(ロービーム)バルブ交換 
カテゴリ:その他(カテゴリ未設定)
2024/02/06 18:56:35
イナバガレーディア GRN-3662J 
カテゴリ:その他(カテゴリ未設定)
2023/12/23 21:46:57
プラグ交換 
カテゴリ:その他(カテゴリ未設定)
2023/12/12 11:26:43

愛車一覧

トヨタ ソアラ 10号 (トヨタ ソアラ)
IoTソアラ 10台目のソアラ グレード  3.0GT SUPER LIMITED ...
トヨタ ソアラ 13号 (トヨタ ソアラ)
13号です。 1JZ-GTE、5M/T(R154)換装済 @富士宮
ダイハツ ミラ ダイハツ ミラ
所有期間 1993/03/01 ~ 1996/07/18 ボディーカラー 赤
ダイハツ ミラ ダイハツ ミラ
期間: 2014/03/09 ~ 2014/04/27 型式: UA-L250S グレー ...

過去のブログ

2023年
01月02月03月04月05月06月
07月08月09月10月11月12月
2022年
01月02月03月04月05月06月
07月08月09月10月11月12月
2021年
01月02月03月04月05月06月
07月08月09月10月11月12月
2020年
01月02月03月04月05月06月
07月08月09月10月11月12月
2019年
01月02月03月04月05月06月
07月08月09月10月11月12月
2018年
01月02月03月04月05月06月
07月08月09月10月11月12月
2017年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ
© LY Corporation