树莓派B+运行kali并使用微雪3.5寸LCD电阻屏显示

前言

15年的时候博主入手了人生中第一款树莓派,型号B+,玩了一段时间后看到微雪有出3.5寸LCD显示屏,虽然是电阻屏,但是依然很棒。当时候博主对Linux并不是很熟,所以只能使用官方提供的树莓派镜像,已经集成了LCD屏幕的驱动,那个时候官方提供下载还是使用的百度网盘,并没有提供单独的驱动包,百度网盘也没有像现在这样到了没有会员几乎无法下载的地步。

当时玩树莓派基本上都是用来做跟wifi和GSM相关的东西,觉得LCD屏没啥用处,索性直接拆掉丢箱底,树莓派刷入kali fro arm,命令行也挺好。

多年后的今天,博主在整理房间杂物的时候翻出来那块尘封已久的LCD屏幕还有许久没有碰过的B+,不禁感叹科技的进步,现在树莓派都出到3B+了,版本迭代很快,新版本的性能是旧版无法比拟的,博主这几年陆续入手了2B,zero,3B+,在今天看来B+的性能显然已经很难带的动庞大的系统,但依然不妨碍我对她进行一番调教,廉颇老矣尚能饭否?

开机

找出电源适配器,这里使用了LCD屏幕,电源适配器最好使用5V 2A避免供电不足导致的问题,从kali.org下载官方原版kali for arm镜像,找出一张32G class 10 SD卡,使用USBWriter将镜像写入到SD卡,轻轻地插入B+的屁股,将LCD屏幕插入树莓派的GPIO接口,最后上电开机,上电后LCD屏幕白屏属于正常现象。

微信图片_20190225120723.jpg - 大小: 255.44 KB - 尺寸: 900 x 553 - 点击打开新窗口浏览全图

等待一会,使用终端ssh连接树莓派,啥?不知道IP多少?对,忘记插网线了,网线插上,打开Fing扫描一下局域网设备或者直接进入路由器后台看下树莓派的IP多少就行了。输入账号 root 密码 toor进入树莓派的kali。

随着科技的进步,微雪官方也在Github上提供了安装驱动的shell脚本,地址 https://github.com/waveshare/LCD-show 使用 git命令克隆下载

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

正克隆到 'LCD-show'...
remote: Enumerating objects: 358, done.
remote: Counting objects: 100% (358/358), done.
remote: Compressing objects: 100% (180/180), done.
remote: Total 358 (delta 213), reused 286 (delta 165), pack-reused 0
接收对象中: 100% (358/358), 5.06 MiB | 355.00 KiB/s, 完成.
处理 delta 中: 100% (213/213), 完成.
正在检出文件: 100% (267/267), 完成.
之后,执行 ./LCD35-show 开始安装(按照官方教程的写法)。
cd LCD-show/
./LCD35-show

但是官方并没有说脚本不适合B+,所以,这里就很顺利的报错了。

报错

执行安装命令后报错

正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
xserver-xorg-input-evdev 已经是最新版 (1:2.10.6-1)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会同时安装下列软件:
  cmake-data librhash0 libuv1
建议安装:
  cmake-doc ninja-build
下列【新】软件包将被安装:
  cmake cmake-data librhash0 libuv1
升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 4,321 kB 的归档。
解压缩后会消耗 22.0 MB 的额外空间。
错误:1 http://http.kali.org/kali kali-last-snapshot/main armel cmake-data all 3.12.3-1
  404  Not Found [IP: 192.99.200.113 80]
错误:2 http://http.kali.org/kali kali-last-snapshot/main armel librhash0 armel 1.3.6-2
  404  Not Found [IP: 192.99.200.113 80]
错误:3 http://http.kali.org/kali kali-last-snapshot/main armel libuv1 armel 1.23.1-1
  404  Not Found [IP: 192.99.200.113 80]
错误:4 http://http.kali.org/kali kali-last-snapshot/main armel cmake armel 3.12.3-1
  404  Not Found [IP: 192.99.200.113 80]
E: 无法下载 http://http.kali.org/kali/pool/main/c/cmake/cmake-data_3.12.3-1_all.deb  404  Not Found [IP: 192.99.200.113 80]
E: 无法下载 http://http.kali.org/kali/pool/main/r/rhash/librhash0_1.3.6-2_armel.deb  404  Not Found [IP: 192.99.200.113 80]
E: 无法下载 http://http.kali.org/kali/pool/main/libu/libuv1/libuv1_1.23.1-1_armel.deb  404  Not Found [IP: 192.99.200.113 80]
E: 无法下载 http://http.kali.org/kali/pool/main/c/cmake/cmake_3.12.3-1_armel.deb  404  Not Found [IP: 192.99.200.113 80]
E: 有几个软件包无法下载,要不运行 apt-get update 或者加上 --fix-missing 的选项再试试?
sudo: cmake:找不到命令
make:/usr/bin/cmake:命令未找到
make: *** [Makefile:176:cmake_check_build_system] 错误 127
dpkg: 处理归档 ./xinput-calibrator_0.7.5-1_armhf.deb (--install)时出错:
 软件包体系架构(armhf)与本机系统体系结构(armel)不符
在处理时有错误发生:
 ./xinput-calibrator_0.7.5-1_armhf.deb
LCD configrue 0
cp: 无法创建普通文件'/boot/overlays/waveshare35a.dtbo': 没有那个文件或目录
cp: 无法创建普通文件'/boot/overlays/': 不是目录
Connection to 192.168.123.47 closed by remote host.
Connection to 192.168.123.47 closed.
这个报错清晰明了,首先提示一些软件包无法下载,Oh,糟糕,刷完系统没有更新,有点尴尬...

OK,先执行更新系统吧

apt update && apt upgrade -y
当年更新系统使用的是 apt-get 现在使用 apt就可以了,更新完系统继续看错误信息
dpkg: 处理归档 ./xinput-calibrator_0.7.5-1_armhf.deb (--install)时出错:
 软件包体系架构(armhf)与本机系统体系结构(armel)不符
在处理时有错误发生:
 ./xinput-calibrator_0.7.5-1_armhf.deb
这里的意思是cpu架构不符合,在驱动包里面找到了xinput-calibrator_0.7.5-1_armhf.deb,但是这里需要的是 xinput-calibrator_0.7.5-1_armel.deb包,于是求助搜索引擎,找到了合适的deb包,下载地址 http://ftp.cn.debian.org/debian/pool/main/x/xinput-calibrator/xinput-calibrator_0.7.5+git20140201-1+b2_armel.deb ,下载后放到到git 仓库的根目录下面,备份旧的 xinput-calibrator_0.7.5-1_armhf.deb 为 xinput-calibrator_0.7.5-1_armhf.deb.bak,把新的deb包改名为 xinput-calibrator_0.7.5-1_armhf.deb。

继续看错误

cp: 无法创建普通文件'/boot/overlays/waveshare35a.dtbo': 没有那个文件或目录
cp: 无法创建普通文件'/boot/overlays/': 不是目录
这里说/boot/overlays/不是目录,去/boot/下看看是什么情况
root@kali:/boot# ls
cmdline.txt  config.txt
确实没有那个目录,使用mkdir创建一个目录后执行./LCD35-show进行安装,顺利通过没有报错。
root@kali:~/files/LCD-show# ./LCD35-show 
LCD configrue 0
Connection to 192.168.123.47 closed by remote host.
Connection to 192.168.123.47 closed.
树莓派自动重启,但是重启后依然无法正常使用LCD屏幕,依然白屏。

解决

取出SD卡,插入读卡器,使用电脑进入到SD卡的 boot 分区,发现 /boot/路径下的内容跟系统 /boot/下面的内容并不一样,尝试把系统下面的那个boot文件夹直接复制过来覆盖,记得先备份旧的文件夹,复制过来覆盖后,重新插入树莓派开机,搞定,屏幕正常显示,触摸也正常,可以愉快的玩耍了。

微信图片_20190225120734.jpg - 大小: 379.29 KB - 尺寸: 900 x 725 - 点击打开新窗口浏览全图

本文链接:https://www.92ez.com/?action=show&id=23483
!!! 转载请先联系non3gov@gmail.com授权并在显著位置注明作者和原文链接 !!! 小黑屋
提示:技术文章有一定的时效性,请先确认是否适用你当前的系统环境。

上一篇: Ubuntu执行rtl_fm报usb_claim_interface error -6的解决方法
下一篇: 使用supervisor设置服务端frp开机启动

访客评论
目前还没有人评论,您发表点看法?