cross-compile env set and build(eg,uImage)

============================= build success==============================
[xiatian@hz42 lfs_linux]$ cat k2-cross-compile-hz42.env
export MACHINE=xxxx_k2
export ARCH=arm
export SYSROOTS=/var/work/$USER/build_xxx/tmp/sysroots
export PATH=$SYSROOTS/x86_64-linux/usr/bin/cortexa15t2hf-vfp-vfpv4-neon-poky-linux-gnueabi/:$PATH
export PATH=$SYSROOTS/x86_64-linux/usr/sbin/:$PATH
export PATH=$SYSROOTS/x86_64-linux/usr/bin/:$PATH
export CROSS_COMPILE=arm-poky-linux-gnueabi-
[xiatian@hz42 lfs_linux]$ source k2-cross-compile-hz42.env
进入kernel的根目录:
[xiatian@hz42lfs_linux]$make
... =>去掉编译过程
[xiatian@hz42 lfs_linux]$ ls =>编译结束
arch COPYING crypto drivers fs init Kbuild kernel localversion-rt Makefile modules.builtin Module.symvers README samples security System.map usr vmlinux
block CREDITS Documentation firmware include ipc Kconfig lib MAINTAINERS mm modules.order net REPORTING-BUGS scripts sound tools virt vmlinux.o
[xiatian@hz42 lfs_linux]$ ls -all vmlinux
-rwxr-xr-x 1 xiatian tdlte 52260485 Aug 23 16:49 vmlinux ==>这个就是kernel编译后生成的初始bin,linux内核经过编译后也会生成一个elf格式的可执行程序,叫vmlinux或vmlinuz,这个就是原始的未经任何处理加工的原版内核elf文件;嵌入式系统部署时烧录的一般不是这个vmlinuz/vmlinux
uboot为了启动linux内核,还发明了一种内核格式叫uImage。uImage是由zImage加工得到的,uboot中有一个工具,可以将zImage加工生成uImage。注意:uImage不关linux内核的事,
linux内核只管生成zImage即可,然后uboot中的mkimage工具再去由zImage加工生成uImage来给uboot启动。这个加工过程其实就是在zImage前面加上64字节的uImage的头信息即可
如果直接在kernel底下去make uImage会提供mkimage command not found。解决方案是去uboot/tools下cp mkimage /usr/local/bin/,复制mkimage工具到系统目录下。再去make uImage即可。(默认在kernel下执行make,只生成zImage)
[xiatian@hz42 lfs_linux]$ make uImage
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CC scripts/mod/devicetable-offsets.s
GEN scripts/mod/devicetable-offsets.h
HOSTCC scripts/mod/file2alias.o
HOSTLD scripts/mod/modpost
CHK include/generated/compile.h
CHK kernel/config_data.h
Kernel: arch/arm/boot/Image is ready
XZKERN arch/arm/boot/compressed/piggy.xzkern
AS arch/arm/boot/compressed/piggy.xzkern.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
UIMAGE arch/arm/boot/uImage
Image Name: Linux-3.10.74-rt79+
Created: Wed Aug 23 16:59:16 2017
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1900728 Bytes = 1856.18 kB = 1.81 MB
Load Address: 80008000
Entry Point: 80008000
Image arch/arm/boot/uImage is ready
[xiatian@hz42 lfs_linux]$ ls -all arch/arm/boot/uImage
-rw-r--r-- 1 xiatian tdlte 1900792 Aug 23 16:59 arch/arm/boot/ uImage

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值