编译AT91SAM9G25的linux步骤及出现的问题
来源:互联网 发布:淘宝店铺绑定旺旺 编辑:程序博客网 时间:2024/05/01 20:38
内核下载地址:http://www.kernel.org/先不要在这里面下载,这里只是用来做对比的。
下载地址为ATMEL官网中查找到该款芯片后,找相信的路径去下载。
编译内核
第一步:要把确定解压完整的内核添加到你所创建的家目录的文件夹下,我这里是创建在了家目录下的AT95文件夹下;
第二步:安装交叉编译工具链,如果没有安装,按照如下方法安装:
sudo apt-get install gcc-arm-linux-gnueabi
export CROSS_COMPILE=arm-linux-gnueabi-
第三步:配置板子的内核:
make ARCH=arm sama5_defconfig
出来的效果为:
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/zconf.lex.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
#
# configuration written to .config
#
出现的问题,这里由于我在uboot解压的所以丢失了kconfig文件,最好是在Windows下解压然后移动到刚才创建好的文件夹下面去。
第四步:配置内核,因为我们是初学者,所以这里最好先不要去动去,
命令如下
make ARCH=arm menuconfig
第五步:编译zImage
命令为:make ARCH=arm
这里出现的问题主要是找不到头文件,查找发现这里缺少了软链接,在arch/arm/boot/dts/include文件夹里没发现dt-bindings这个链接文件的链接,最后通过命令
ln –s arch/arm/boot/dts/include/dt-bindings include/dt-bingings
添加这个命令后再执行
命令为:make ARCH=arm
出现的结果为:
[..]
Kernel: arch/arm/boot/Image is ready
Kernel: arch/arm/boot/zImage is ready
第六步:编译uImage
当在编译uImage时出现这种错误是
multiple (or no) load addresses:
This is incompatible with uImages
Specify LOADADDR on the commandline tobuild an uImage
make[1]: *** [arch/arm/boot/uImage] Error 1
make: *** [uImage] Error 2
原因是没有指定加载地址。
解决方法:ARCH=armCROSS_COMPILE=arm-linux-gnueabi- LOADADDR=0x20008000 make uImage
正确:
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h'is up to date.
CHK include/generated/bounds.h
CHK include/generated/asm-offsets.h
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
Kernel: arch/arm/boot/Image is ready
Kernel: arch/arm/boot/zImage is ready
UIMAGE arch/arm/boot/uImage
Image Name: Linux-4.1.0-linux4sam_5.0
Created: Wed Jul 27 21:01:55 2016
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3525960 Bytes = 3443.32 kB = 3.36 MB
Load Address: 0x20008000
Entry Point: 0x20008000
第七步:编译设备树文件
执行命令为:
make ARCH=arm dtbs
出现的结果为:
ATMEL官网中出现的这部分内容在编译zImage时就出现了
DTC arch/arm/boot/dts/at91-kizbox2.dtb
DTC arch/arm/boot/dts/at91-sama5d2_xplained.dtb
DTC arch/arm/boot/dts/at91-sama5d2_xplained_pda4.dtb
DTC arch/arm/boot/dts/at91-sama5d3_xplained.dtb
DTC arch/arm/boot/dts/at91-sama5d3_xplained_pda4.dtb
DTC arch/arm/boot/dts/at91-sama5d3_xplained_pda7.dtb
DTC arch/arm/boot/dts/sama5d31ek.dtb
DTC arch/arm/boot/dts/sama5d31ek_pda4.dtb
DTC arch/arm/boot/dts/sama5d31ek_pda7.dtb
DTC arch/arm/boot/dts/sama5d31ek_revc_pda4.dtb
DTC arch/arm/boot/dts/sama5d31ek_revc_pda7.dtb
DTC arch/arm/boot/dts/sama5d31ek_revc.dtb
DTC arch/arm/boot/dts/sama5d33ek.dtb
DTC arch/arm/boot/dts/sama5d33ek_pda7.dtb
DTC arch/arm/boot/dts/sama5d33ek_pda4.dtb
DTC arch/arm/boot/dts/sama5d33ek_revc.dtb
DTC arch/arm/boot/dts/sama5d33ek_revc_pda4.dtb
DTC arch/arm/boot/dts/sama5d33ek_revc_pda7.dtb
DTC arch/arm/boot/dts/sama5d34ek.dtb
DTC arch/arm/boot/dts/sama5d34ek_pda4.dtb
DTC arch/arm/boot/dts/sama5d34ek_pda7.dtb
DTC arch/arm/boot/dts/sama5d34ek_revc.dtb
DTC arch/arm/boot/dts/sama5d34ek_revc_pda4.dtb
DTC arch/arm/boot/dts/sama5d34ek_revc_pda7.dtb
DTC arch/arm/boot/dts/sama5d35ek.dtb
DTC arch/arm/boot/dts/sama5d35ek_revc.dtb
DTC arch/arm/boot/dts/sama5d36ek_pda4.dtb
DTC arch/arm/boot/dts/sama5d36ek.dtb
DTC arch/arm/boot/dts/sama5d36ek_pda7.dtb
DTC arch/arm/boot/dts/sama5d36ek_revc.dtb
DTC arch/arm/boot/dts/sama5d36ek_revc_pda4.dtb
DTC arch/arm/boot/dts/sama5d36ek_revc_pda7.dtb
DTC arch/arm/boot/dts/at91-sama5d4_xplained.dtb
DTC arch/arm/boot/dts/at91-sama5d4_xplained_pda4.dtb
DTC arch/arm/boot/dts/at91-sama5d4_xplained_hdmi.dtb
DTC arch/arm/boot/dts/at91-sama5d4_xplained_pda7.dtb
DTC arch/arm/boot/dts/at91-sama5d4ek.dtb
这是我编译内核的步骤及遇到的问题。
- 编译AT91SAM9G25的linux步骤及出现的问题
- Linux下安装mysql步骤及可能出现的问题
- linux内核编译步骤及遇到的问题(整理)
- ONOS安装及编译步骤(附编译出现问题的几种解决方法)
- Linux 安装编译PHP出现的问题及解决方法
- UBUNTU编译DBVM的步骤及出现问题的解决方案(DBVM-->CheatEngine)
- at91sam9g25开关机的实现方法
- SparkR安装出现的步骤及出现的问题
- 编译内核的步骤及遇到的问题及解决方法
- linux下c++使用occi连接oracle数据库步骤,及出现的问题和解决
- linux 编译安装wireshark出现的问题
- 编译linux驱动程序出现的一些问题
- 编译linux 出现的有关问题
- linux下编译出现的问题汇总
- linux 编译busybox出现的一些问题
- 内核编译的步骤及遇到的问题
- linux编译busybox,uboot,kernel等常用到的命令及出现过的问题
- Linux 2.6内核的编译步骤及模块动态加载
- Effetive Objective - C 1.Objective 9
- Ubuntu系统挂载新硬盘方法
- 【使用工具和软件汇总】
- Struts2向action传对象数组
- Swift:Command failed due to signal: Segmentation fault: 11
- 编译AT91SAM9G25的linux步骤及出现的问题
- 安装Tomcat9闪退
- Android数据库两种操作方式介绍: SQLite与ORMLite
- 解决macro "__TIME__" might prevent reproducible builds [-Werror=date-time]错误
- Maven 目录结构
- j s p
- Array Reverse
- C# 如何调用VB6.0编写的dll
- 小米手机server内部调用alertdialog不显示问题