树莓派镜像备份/内核编译和更换/EC200U上网
树莓派镜像备份/内核编译和更换/EC200U上网
操作涉及树莓派linux内核替换,由于我的树莓板子里跑了ROS,以免环境破坏,所以先进行镜像备份。
备份本机树莓派img
工具:win32diskimager-1.0.0-install.exe
全卡备份
- 安装工具win32diskimager-1.0.0-install.exe
- 硬盘中新建后缀名为img的空文件
- 打开 Win32DiskImager,选择刚刚创建的空img 文件和 SD 卡盘符,
- 点击 read 既可,一般需要13分钟左右
原理:将SD卡中文件打包读取到*img中
树莓派 linux内核编译
交叉编译工具链的下载安装
地址:https://github.com/raspberrypi/tools
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make bcm2711_defconfig
安装必要软件
更新系统下载源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backupsudo vim /etc/apt/sources.list#阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
安装必要软件
sudo apt-get install bc
sudo apt-get install libncurses5-dev libncursesw5-dev
sudo apt-get install zlib1g:i386
sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
sudo apt-get install build-essential
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install libssl-dev
编译前配置defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 bcm2711_defconfig
编译
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 -j4 zImage modules dtbs
说明:
j4 指定多少core进行编译,根据自己电脑性能来
zImage 内核镜像。
modules 生成驱动模块。
dtbs 生成配置文件。
驱动makefile
**modules:$(MAKE) -C $(KERNELDIR) M=$(PWD) modules**说明:
$:美元符号是引用变量定义值;
$(MAKE) : 指make命令;
-C: 指内核位置。
M:指定模块源码目录,M编译的会生成*.ko; 后期可以通过inmod *ko 安装
树莓派更换linux 内核
安装交叉编译链
//64bit 的
sudo apt install crossbuild-essential-arm64
下载源码(选择自己需求版本)
https://github.com/raspberrypi/linux
编译
//通过 find . -name *_defconfig,板子配套的_defconfig,这里是bcm2711_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- KERNEL=kernel8 bcm2711_defconfigmake -j4 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- KERNEL=kernel8 Image modules dtbs
替换sd卡中系统
挂在sd卡分区
创建目录
mkdir /home/hbwang/pi/data1 //fat32分区 boot、img等mkdir /home/hbwang/pi/data2 //ext4 分区 rootfs、modules等sudo mount /dev/sdb1 /home/hbwang/pi/data1
sudo mount /dev/sdb2 /home/hbwang/pi/data2
//zImage时需要转换img
./scripts/mkknlimg arch/arm64/boot/zImage ./kernel8.img
拷贝modules、img、dts等到sd卡
sudo make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- KERNEL=kernel8 INSTALL_MOD_PATH=/home/hbwang/pi/data2 modules_installsudo cp arch/arm64/boot/Image /home/hbwang/pi/data1/kernel8.imgsudo cp arch/arm64/boot/dts/broadcom/*.dtb /home/hbwang/pi/data1
sudo cp arch/arm64/boot/dts/overlays/.*dtb* /home/hbwang/pi/data1/overlays/
sudo cp arch/arm64/boot/dts/overlays/README /home/hbwang/pi/data1/overlays/
卸载挂载的sd卡
sudo umount /home/hbwang/pi/data1sudo umount /home/hbwang/pi/data2
插入树莓派启动
通过终端查看设备是否启动成功。
树莓派使用移远4G模块EC200U上网
4G模块ping ppp0不能上网需要增加默认路由
sudo route add default dev ppp0
sudo route add default gw 10.64.64.64
4g和树莓派连接方式
使用4g 模块的usb和树莓派usb口连接,而不是使用4g模块的uart 排线连接
借助wvdial方式ppp0
安装文件工具
sudo apt-get install wvdial
查看是否有EC200U模块
lsusb
VID 和 PID 信息添加
sudo modprobe option//ec200u
sudo sh -c 'echo "2c7c 0901" > /sys/bus/usb-serial/drivers/option1/new_id'//ec20
sudo sh -c 'echo "2c7c 0125" > /sys/bus/usb-serial/drivers/option1/new_id'q \r\n
原理:树莓派是自带option驱动的,向sys/bus/usb-serial/drivers/option1/new_id这个文件添加 VID 和 PID 信息后,Linux 会在/dev 目录下创建多个名称如 ttyUSB0-6的串口设备文件
编写wvdial.conf
sudo vim /etc/wvdial.conf[Dialer lan1]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0
使用IPV4,建立连接,联通为3gnet,移动为cmnet
Init3 = AT+CGDCONT=1,"IP","3gnet"
Modem Type = Analog Modem
Baud = 115200
New PPPD = yes
Modem = /dev/ttyUSB0
ISDN = 0
# 拨号,*99#是联通的拨号号码,*98*1#是移动
Phone = *98*1#
Password = card
Username = card
Auto DNS = on
启动
sudo wvdial lan1
增加默认路由
sudo route add default dev ppp0
AT+QCFG=“usbnet”,1 \r\n
测试
ping www.baidu.com -I ppp0
自己写命令方式ppp0
可参考以下博文
https://blog.csdn.net/weixin_45880057/article/details/125747029,感谢博主分享。
杂记(仅供自己备忘)
工作指示灯如下表所示:
LED2 电源指示灯 正常供电亮红色
LED1 模块状态指示灯 模块正常亮绿灯
LED3 网络指示灯 慢闪(200ms 高/1800ms 低) 找网状态
慢闪(1800ms 高/200ms 低) 待机状态
快闪(125ms 高/125ms 低) 数据传输模式
高电平 通话中
配置usb
AT+QCFG=“usbnet”,1
重启
AT+CFUN=1,1
查询配置成功
AT+QCFG=“usbnet”
AT+CGDCONT=1,"IPV4V6","3gnet"
AT+CGDCONT=1,"IP","ctnet"
发短信:
AT+CMGF=1 //设置短消息模式为文本模式。
OK
AT+CSCS=“GSM” //设置 TE 输入字符集格式为 GSM 格式。
OK
AT+CMGS=“电话号码”
This is a test from Quectel //输入短消息内容,Ctrl+Z 发送,ESC 退出发送。
+CMGS: 247
OK
打电话:
ATD10086; //拨号。
ATD 电话号码
OK
AT+CHUP //挂断通话。
OK
AT+CGPADDR显示PDP地址
AT+CGPADDR
+CGPADDR: 1,“100.30.3.158”
+CGPADDR: 2,“0.0.0.0,0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”
OK
AT+CGPAD
ERROR
树莓派镜像备份/内核编译和更换/EC200U上网相关推荐
- Liunx树莓派(ARM)开发篇—第十四章、树莓派Linux内核编译步骤(超详细、图文结合)
对树莓派内核源码进行配置后,下一步要进行树莓派Linux内核编译 以下步骤均在PC端虚拟机上完成 准备材料:PC端虚拟机.树莓派交叉编译工具.树莓派内核(交叉编译工具.内核下载步骤见树莓派内核源码) ...
- 树莓派-linux内核编译
树莓派-linux内核编译 装虚拟机[^1] 配置共享文件夹 配置交叉编译工具 下载树莓派linux系统内核[^3] 树莓派等芯片带操作系统的启动过程 树莓派linux源码目录树 树莓派linux源码 ...
- 树莓派交叉编译 内核编译 - HQ
树莓派交叉编译 & 内核编译 - HQ 文章目录 树莓派交叉编译 & 内核编译 - HQ @[toc] 注意 树莓派交叉编译 引入 交叉编译工具链的安装 交叉编译使用举例 树莓派源码分 ...
- 树莓派Linux内核编译、文件系统、Linux内核驱动基础框架、驱动测试步骤、总线地址
树莓派高阶开发课程 1. ubuntu18.04版本安装 让程序猿搭建环境太搞笑了,轻松easy! ========================================= ...
- 树莓派02 ------ 内核编译、移植
目录 底层知识 芯片启动过程 树莓派Linux源码目录树分析 ARM树莓派高级开发--linux内核源码.树莓派源码编译.SD卡挂载 编译移植条件 树莓派Linux源码配置 如何配置树莓派的Linux ...
- Linux树莓派开发——配置树莓派内核源码,内核编译,更换树莓派Linux内核
目录 一.树莓派Linux源码配置 1.配置的三种方法 2.内核源码的下载 二.树莓派内核编译 1.树莓派的编译 2.生成vmlinux 三.更换树莓派内核的详细步骤 一.树莓派Linux源码配置 ...
- 树莓派Linu内核编译
可做参考:树莓派Linux内核配置.编译以及烧录详细步骤_是光哥呀的博客-CSDN博客_linux内核烧录 1编译: ARCH=arm CROSS_COMPILE=arm-linux-gnueabih ...
- 树莓派Linux内核源码配置、编译、挂载(boot/kernal/根文件)、开启新内核
目录 一.树莓派Linux源码配置(适合树莓派) 总体概述 配置的三种方式 1.照搬厂家的配置(使用这种方式) 2.参考厂家的配置(感受一下) 3.完全自主配置(需要一定工作经验) 二.树莓派Linu ...
- 树莓派内核编译(5)
树莓派高阶开发课程 ========================================================= 1. ubuntu18.04版本安装 让程序猿搭建环境太搞笑了, ...
最新文章
- 吃串串,数签签,这个 AI 神器一秒搞定
- Python模块学习:threading 多线程控制和处理
- mysql zip 安装 启动_window的zip版mysql安装启动
- java build.gradle 详解_java – Gradle构建失败[无法解析配置的所有依赖项’:compile’.]...
- CRLF line terminators导致shell脚本报错:command not found
- 读书笔记白帽子讲web安全
- spring创建复杂对象的三种方式
- 跨链Cosmos(4)Tendermint Core
- WPF之DataTemplate(转)
- Redis实践操作之—— keyspace notification(键空间通知)
- 2020哪款蓝牙耳机更值得入手?新款上市高续航游戏专属蓝牙耳机不要错过
- vlfeat各种版本下载链接:
- 使用 ListView 控件展示数据
- python pytz_关于python:找不到符合pytz要求的版本
- 零基础怎样自学编程?初学者如何学习编程?编程学习入门指南(文章较长,需要耐心看完)
- 谷歌浏览器 发送到剪切板_将Google搜索结果发送到您的新闻阅读器
- OpenGL/C++实战——C++实现太阳系行星系统
- Windows10系统时间同步没有效果的解决方法
- shienblink 振动/敲击检测传感器详解
- 【天池】优惠券使用预测