linux4.11内核设备编译时出现的问题(参考博客并更改的)
AllWinnerH3 linux4.11版本的bsp下载:
https://pan.baidu.com/s/1mhU4a8K 密码: b375
H3-linux4.11_bsp目录就是所需的源码及编译工具.
下载后, 先安装tools目录里的dtc工具. 解包dtc-master.zip, 执行”make && make install”即可.
1 配置gcc-linaro-7.2.1交叉编译器。因新版的uboot需要大于6.x版本以上的编译器才可以。
配置好后才可以编译uboot及内核源码.
2 编译uboot:
解包u-boot源码后,进入源码目录:(在root用户下进行编译,否则可能会出错)
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- orangepi_lite_defconfig //配置uboot
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- //编译
此处编译可能会出现错误,缺少一个pathon.h头文件,错误如下图,
解决办法:输入命令 yum install python-devel sudo dd if=./spl/sunxi-spl.bin of=/dev/sdb bs=1k seek= //烧写bl1到sd卡
sudo dd if=./u-boot.bin of=/dev/sdb bs=1k seek= //烧写uboot.bin到sd卡里
//烧写后,正常情况下应可用sd卡启动板,可通过uart接收到板上uboot的输出信息.
3 编译内核:
解包linux内核源码后,进入内核源码目录下操作:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- sunxi_defconfig //配置内核
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage -j4 //编译出内核镜像
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs //编译出设备树文件 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules //编译出驱动模块
//完成后,就可以把设备树文件,内核镜像,文件系统放在sd卡分区里.
文件系统可沿用前面所做的文件系统,或者重编busybox制作文件系统也可.
//我这里是所有所需文件及文件系统都放在sd卡的第一个分区(ext4格式)里, 挂载在/run/media/jk/linux/
//也可以将下面的文件都放到fat32分区里。
/复制编译出来的设备树文件到sd卡分区里,并重命名为orangepi_lite.dtb
sudo cp arch/arm/boot/dts/sun8i-h3-orangepi-lite.dtb /run/media/jk/linux/orangepi_lite.dtb //复制内核镜像到sd卡分区里
sudo cp arch/arm/boot/zImage /run/media/jk/linux/zImage //把编译出来的驱动模块安装到sd卡分区里
sudo make ARCH=arm modules_install INSTALL_MOD_PATH=/run/media/jk/linux
以上步骤完成后, 即可把sd卡接板上启动系统. 进入uboot后,还需要设置好环境变量:
//设置uboot启动后自动引导系统(下面两个根据自己文件的存放位置选择相应的命令,第一个文件放在ext4中,第二个放在fat32)
setenv bootcmd "ext4load mmc 0:1 0x46000000 zImage; ext4load mmc 0:1 0x47000000 orangepi_lite.dtb; bootz 0x46000000 0:0 0x47000000"
setenv bootcmd "fatload mmc 0:2 0x46000000 zImage; fatload mmc 0:2 0x47000000 orangepi_lite.dtb; bootz 0x46000000 0:0 0x47000000" //设置内核启动参数.这里需要注意sd卡在uboot上是第0个设备,但在linux内核里变成了第2个设备(可在内核的log看到).
setenv bootargs "root=/dev/mmcblk2p1 rw console=ttyS0,115200n8"
保存环境变量:
saveenv
重启系统:
reset
以上步骤完成后,应就可以进入文件系统了.
linux4.11内核设备编译时出现的问题(参考博客并更改的)的更多相关文章
- v75.01 鸿蒙内核源码分析(远程登录篇) | 内核如何接待远方的客人 | 百篇博客分析OpenHarmony源码
子曰:"不学礼,无以立 ; 不学诗,无以言 " <论语>:季氏篇 百篇博客分析.本篇为: (远程登录篇) | 内核如何接待远方的客人 设备驱动相关篇为: v67.03 ...
- Linux新内核:提升系统性能 --Linux运维的博客
http://blog.csdn.net/linuxnews/article/details/52864182
- <Win10开发>UWP使用.Net Native编译时遇到的一些问题。
最近开始尝试把WP8.1 Runtime的项目升级成Win10 UWP,我用的方法没什么技巧性,就是直接复制文件和代码到新建的UWP项目.结果是后台代码未经修改,全部正常运行.但是UI控件的布局有些偏 ...
- 鸿蒙内核源码分析(源码注释篇) | 鸿蒙必定成功,也必然成功 | 百篇博客分析OpenHarmony源码 | v13.02
百篇博客系列篇.本篇为: v13.xx 鸿蒙内核源码分析(源码注释篇) | 鸿蒙必定成功,也必然成功 | 51.c.h .o 几点说明 kernel_liteos_a_note | 中文注解鸿蒙内核 ...
- ubuntu14.04 64位系统下编译3.13.11内核源码
该过程一共分为四步: 1.下载内核:我下载的是3.13.11这个版本的内核! 2.解压内核:我将其解压/home/jello/Downloads/linux-3.13.11目录下!下文将会基于此目录编 ...
- 【转】内核编译时, 到底用make clean, make mrproper还是make distclean(转载)
原文网址:http://dongyulong.blog.51cto.com/1451604/449470 内核编译时, 到底用make clean, make mrproper还是make distc ...
- ubuntu下使用g++编译时默认支持C++11 配置方法
1.只需要在源文件程序中加上如下一行代码: #pragma GCC diagnostic error "-std=c++11" 此时源文件代码如下: #pragma GCC dia ...
- VMware Workstation虚拟机打开系统时,提示“无法打开内核设备“\\.\Global\vmx86”: 系统找不到指定的文件。是否在安装 VMware Workstation 后重新引导?”
VMware Workstation虚拟机打开系统时,提示“无法打开内核设备“\\.\Global\vmx86”: 系统找不到指定的文件.是否在安装 VMware Workstation 后重新引导? ...
- 保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事
保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事 10 things to consider when securing an embedded 802.11 Wi-Fi device 随着 ...
随机推荐
- 如何保障Assignment写作效率?
有没有因为开学要交的Assignment而日夜赶工.身心俱疲啊?写Assignment确实是个体力+脑力活,要一直保持旺盛的精力并不容易.精神和身体的疲劳会慢慢分散你的注意力,进而影响效率和写作质量. ...
- CMD命令实现数字雨
首先,我们在桌面上先创建一个“.bat”格式的文件,文件名为“数字雨.bat”,创建好了之后右键点击编辑. 在其中输入: @echo off title 数字雨 color 0a setlocal E ...
- DevOps元数据管理
元数据是自动化运维的基础,对元数据的管理和查询贯穿整个运维的生命周期.我们从一个元数据的使用场景开始: 双十一抢购火热进行中,某电商后端实例的日志中出现了502错误码,运维平台监测到该异常并发送告警给 ...
- vue中的axios请求
1.get请求 // get this.$axios.get('请求路径') .then(function (response) { console.log(response); // 成功 }) . ...
- 7.CSRF攻击和文件上传漏洞攻击
一.CSRF攻击及防范措施 1.概念 请求来源于其他网站,请求并不是用户的意愿,而是伪造的请求,诱导用户发起的请求 2.场景 攻击者盗用了你的身份,以你的名义发送恶意请求.CSRF能够做的事情包括:以 ...
- Qt creator中配置opencv win7 64bit
配置方法的原文来自https://www.librehat.com/qt-5-2-vs2012-opencv-2-4-7-dev-environment-setup-tutorial/. 补充,在张静 ...
- tomcat8.5的安装、卸载、配置和部署
安装和卸载 下载 http://tomcat.apache.org/ 环境变量 1.点击此电脑 右键—>属性. 2.创建变量名为CATALINA_HOME,的值为所解压安装tomcat的本地目录 ...
- POJ 1258:Agri-Net Prim最小生成树模板题
Agri-Net Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 45050 Accepted: 18479 Descri ...
- SEO初步学习之影响网站排名的因素
本文介绍一些比较明显的因素,一些隐藏较深的原因还有待发掘: 1.采集网站内容,即抄袭其他网站的内容. 2.新站上传后建议不要有大的改动. 3.标题频繁修改. 4.大量投放垃圾外链. 5.不做友链,交友 ...
- 107.JsonResponse
JsonResponse类: 用来dump字符串成json字符串,然后返回将json字符串封装成Response对象返回给浏览器,并且它的Content-Type是application/json.示 ...