linux哪个系统能编译固件,rk3328编译Linux固件
1.6 打包原始固件
把你的 Linux 根文件系统映像文件放在 out/rootfs.img
out 目录将包含以下文件:
$ tree out
out
├── boot.img
├── kernel
│ ├── Image
│ └── rk3328-roc-cc.dtb
├── rootfs.img
└── u-boot
├── idbloader.img
├── rk3328_loader_ddr786_v1.06.243.bin
├── trust.img
└── uboot.img2 directories, 8 files
./build/mk-image.sh -c rk3328 -t system -r out/rootfs.img
这条命令根据《存储映射》所描述的布局,将分区映像文件写到指定位置,最终打包成 out/system.img,
烧写原始固件的步骤,请参考 《上手指南》 一章。
二、遇到的问题
2.1 uboot编译问题
rkbin路径没有加上bin
文件丢失
rk3328_ddr_786MHZ_v1.06.bin
rk3328_miniloader_v2.43.bin
rk3328_bl31_v1.34.bin
rk3328_loader_ddr786_v1.06.243.bin
firefly丢失的文件可以在下面资源找到
改完路径,拷贝以上文件,u-boot编译成功
2.2 编译kernel遇到的问题
本来内核是在ubuntu16上编译的,但是我在18上编译了。很多都是gcc版本引起的,解决起来也比较简单
drivers/net/wireless/rockchip_wlan/rtl8821cu/hal/phydm/phydm_adc_sampling.c:46:5: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
error, forbidden warning: phydm_adc_sampling.c:46没加大括号
if-else错误
另一个错误是~号
drivers/net/wireless/rockchip_wlan/rtl8821cu/hal/btc/halbtc8821c1ant.c:2333:30: warning: ‘~’ on a boolean expression [-Wbool-operation]
error, forbidden warning: halbtc8821c1ant.c:2333
~号错误提示
修改办法:
把~号改成!,虽然可能会有问题。但是解决了编译的问题
drivers/net/wireless/rockchip_wlan/rtl8812au/hal/rtl8812a/rtl8812a_mp.c:640:7: warning: statement will never be executed [-Wswitch-unreachable]
解决办法:
把语句放在switch外面
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/dm.c:2488:3: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
error, forbidden warning: dm.c:2488
解决办法:后面加括号
2.3 编译根文件的问题
编译根文件的时候可能无法apt-get update,网络错误。使用指令:
cp /etc/resolv.conf mnt/etc/resolv.conf 解决
使用中没有lsusb命令:
apt-get install usbutils
没有lspci:
apt-get install pciutils
没有insmod:
apt-get install kmod
启动A start job is running for Raise network interfaces:
命令:sudo vim /etc/systemd/system/network-online.target.wants/networking.service
将里面的TimeoutStartSec=5min 修改为TimeoutStartSec=2sec
烧录镜像后没有扩容剩余空间
首先需要安装apt-get install parted,然后#vi /etc/rc.local
在exit 0前添加/usr/local/bin/first-boot-recovery.sh启动脚本,给予可执行权限,用来扩容根目录,记得在根目录下新建一个firstboot文件
#!/bin/bash
clean_first_boot () {rm -f /firstboot 2>/dev/null
sync}if [ -e /firstboot ]; then
echo "======Expanding the rootfs..."parted/dev/mmcblk0 -- unit s resizepart 5 -34s
e2fsck-f /dev/mmcblk0p5
resize2fs/dev/mmcblk0p5
clean_first_bootfi脚本内容如上,红色部分看实际情况更改
linux哪个系统能编译固件,rk3328编译Linux固件相关推荐
- Linux查看系统所有运行进程,如何在Linux系统列出systemd下所有正在运行的服务
Linux系统提供各种系统服务(如进程管理.登录.syslog.cron等)和网络服务(如远程登录.电子邮件.打印机.Web主机.数据存储.文件传输.域名解析(使用DNS).动态IP地址分配(使用DH ...
- linux的系统架构,(转载)图解Linux系统的系统架构
我以下图为基础,说明Linux的架构(architecture).(该图参考<Advanced Programming in Unix Environment>) 最内层是硬件,最外层是用 ...
- linux查看系统内存和cpu使用率,查看Linux系统内存、CPU、磁盘使用率
一.查看内存占用 # free -m 以MB为单位显示内存使用情况 [root@localhost ~]# free -m total used free shared buff/cache avai ...
- linux 查看系统函数库,教你在Linux操作系统中如何创建函数库
函数库分为静态库和动态库两种.静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库.动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存 ...
- linux安装系统如何查看硬盘,如何检查Linux系统服务器的硬盘是SSD还是HDD?
如果您购买了一台服务器,安装的是Linux系统,例如Ubuntu.你无法确定是配置硬盘是SSD(固态硬盘)还是普通的HDD(硬盘).今天我们来简单介绍一下如何查看Linux操作系统中的硬盘是SSD还是 ...
- dl388 linux系统安装系统,HP DL388G5 安装64位linux虚拟系统出错!
今天拿机房一台闲置的HP DL388G5来做实验用,CPU E5405 4G内存,还凑活. 安装完64位的windows2008R2企业版后安装vmware8.0虚拟机,接下来整了个64位的cento ...
- linux虚拟机系统如何读取u盘文件,linux如何读取U盘
sclzwj 于 2010-01-05 18:55:22发表: 学习了. sclzwj 于 2010-01-05 18:54:21发表: 学习了. zhmymichael 于 2010-01-05 1 ...
- linux重装系统怎么保存home下文件,Linux系统重装与还原
当初第一次装ubuntu系统时,对文件系统的构成还不太了解,所以在分区的时候给home的分区特别小,导致后期软件都装不进去.说磁盘已满.所以想对系统又一次分区. 上网找了资料,都说用GParted这个 ...
- Kali Linux攻防系统(三:在Kali Linux系统中配置安全测试浏览器及系统清理备份)
任务三:配置安全测试浏览器及系统清理备份 3.1.汉化Firefox并安装安全插件 3.1.1.汉化Firefox浏览器,安装中文插件,并更改设置: 3.1.2.在浏览器附加组件管理器中查找" ...
最新文章
- auot lisp 选择集处理_第64集 python机器学习:用预处理进行参数选择
- c语言 文件截断,c – 是否有一种正统的方法来避免编译器警告C4309 – “二进制文件输出的”常数值的截断“?...
- 电脑显示器变色_流光溢彩电竞出击:飞利浦猛腾M1系列电竞显示器275M1RZ
- 初学__Python——Python的流程控制语句 if、for、while
- python自学笔记_python学习笔记(4)
- java 自定义注解_Java注解
- Error: if there's nested data, rowKey is required.
- 前端抓潜,必须设置门槛,筛选优质客户
- 如何在SQL Server中自动进行表分区
- 【转】Data truncation: Truncated incorrect DOUBLE value:Mysql Update时
- MyBaties入门
- 计算机窗体视频教程,计算机二级Access2010视频教程
- Java学习篇之I/O篇
- python实现单词的简单爬取
- [Go] String型常用操作
- 12位串行AD转换器TLC2543与单片机的接口设计与编程
- junit测试service时一直报空指针异常
- WinMail邮件服务器(客户端)环境搭建与配置
- 使用dba_waiters检查锁等待
- 2021icpc沈阳 J