笔记:把树莓派4B系统修改为64位
第一章、直接改config.txt 配置64位无法开机了
1、发现问题--查linux系统版本
尝鲜树莓派4B,要安装一个包,无论如何都无法正确运行,骤然发现系统自带的是32位的linux。如何查看linux版本:
pi@raspberrypi:/boot $ uname -a
Linux raspberrypi 4.19.97-v7l+ #1294 SMP Thu Jan 30 13:21:14 GMT 2020 armv7l GNU/Linux
显示 armv7l,但是还是不清楚是多少位的系统,除非知道以下信息。
ARMv8指令集分为Aarch64和Aarch32指令集,而ARMv7使用的是A32和T16指令集(分别为32位和16位)。
再补充一个小知识,armv7不是arm7,做嵌入式的可能比较清楚的,但做纯PC的程序员就比较迷糊了。arm7,8, 9是芯片版本,而v7,v8是指令集版本。
有没有简单的知道使用多位的版本的系统?getconf LONG_BIT(推荐使用),结果非常直观。
pi@raspberrypi:/boot $ getconf LONG_BIT
32
查看当前操作系统版本,也是v7l,l是小端的cpu。
pi@raspberrypi:/boot $ cat /proc/version
Linux version 4.19.97-v7l+ (dom@buildbot) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1294 SMP Thu Jan 30 13:21:14 GMT 2020
2、修改arm64
1)、网上查解决方案
新的raspbian已经自带64位内核了。ssh连接你的树莓派,或者shell。
cd /bootls | grep kernel
ls | grep kernel
如果你的目录下有kernel8.img,就可以直接修改config.txt,使用64位内核了
config.txt末尾添加:
kernel=kernel8.img
然后重启你的树莓派,uname -a 一下看看:
出现了aarch64,说明已经是64位内核了。
上面的 教程来自于:https://www.mmuaa.com/post/0c9188ffde4e2cff.html
问题是我实验后板子死机了无法再开启了。
2)、问题出在哪?
目前还不知道,也没时间去查。与视频相比至少2个命令,但是确实无法再重启了。
sudo rpi-update
arm_64bit=1
第二章、重新制作系统
1、使用Imager制作系统文件
无解,急用系统,于是重新烧录了一个imag,值得一提的是树莓派官网提供了imager工具来烧写sd卡,非常方便,能选择对应的系统,比如哪个版本、还细分32位64位的,有没有桌面的,然后自动下载,下载完成后写入sd卡,提示清除旧的数据,写YES后开始写卡和校验。
写入完成:
2、没有显示器,怎么第一次上电呢?
板子查卡上电后IP Scanner搜索了好久没有搜索到IP地址,那么就手动配置连接路由器,然后启用ssh。
步骤是:系统烧录成功后,不急着拔出SD卡,在boot分区完成如下配置。如果拔出来了再插到pc读卡器打开操作一样效果。
配置WiFi和SSH的方法:进入boot文件夹中,创建一个名称为 wpa_supplicant.conf 的文件,写入如下内容并保存。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1 ap_scan=1 fast_reauth=1 country=CN network={ ssid="WIFI名称" psk="WIFI密码" }
上面操作相当于配置了连接网络,我后续登陆系统后没有再去配置网络但也能用apt install了。
进入boot文件夹中,创建一个名称为 ssh 的空白文件,没有扩展名。Raspberry Pi 4在启动的时候会检测这个文件,一旦存在,会启动SSH服务。
拔出SD卡,嵌入在树莓派4板子上,接通Pi 4电源,使用扫描工具搜索到raspberry,完成。开始ssh登陆。
第三章、64位系统启动了
1、查卡启动系统变为64位--aarch64
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.4.42-v8+ #1319 SMP PREEMPT Wed May 20 14:18:56 BST 2020 aarch64 GNU/Linux
2、查看操作系统版本--指令集v8+
pi@raspberrypi:~ $ cat /proc/version
Linux version 5.4.42-v8+ (dom@buildbot) (gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9)) #1319 SMP PREEMPT Wed May 20 14:18:56 BST 2020
3、查看系统多少位
pi@raspberrypi:~ $ getconf LONG_BIT
64
4、其他
- 耗时2个小时终于完成,值得一提的是系统不要从官网下,官网速得奇慢,从清华镜像站下载最快。
- Imager烧写时选择其他然后指定自己提前下好的镜像。
- 最新的系统2020-05-27-raspios-buster-arm64。
- Imager工具很强大直接打开zip文件点写SD卡就可以了,不需要解压缩到img文件。