Centos7系统
一. 嵌入式linux系统
| 引导加载程序 | 环境变量参数 | linux内核 | 根文件系统 | 用户应用程序 |
|---|---|---|---|---|
| Bootloader | Boot paramerers | Kernel | Root fliesystem | App |
二. Linux 移植
-
源码下载
下载链接linux-4.9.37 -
编译 (以s3c2410为例)
tar -xzvf linux-4.9.37.tar.gz
cd ./linux-4.9.37/
make distclean
make clean
make ARCH=arm CROSS_COMPILE=arm-linux- s3c2410_defconfig
#内核配置
#make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig
#生成vmlinux, Image, zImage
make ARCH=arm CROSS_COMPILE=arm-linux-
#生成uImage, 需要移植mkimage工具
make ARCH=arm CROSS_COMPILE=arm-linux- uImage
- 生成
linux-4.9.37/vmlinux(最原始的内核文件,未压缩)
linux-4.9.37/arch/arm/boot/Image(内核映像文件)
linux-4.9.37/arch/arm/boot/zImage(内核映像压缩文件)
linux-4.9.37/arch/arm/boot/uImage(U-boot专用的映像文件)
三. zImage, uImage区别
-
指令的区别
启动 zImage 用 go
启动 uImage 用 bootm -
文件的区别
uImage 在 zImage 前加了0x40(63) 个字节, 包含这个映像文件的类型、加载位置、生成时间、大小等信息
本文介绍了在Centos7系统中进行Linux内核移植的过程,重点讲解了如何下载并编译Linux 4.9.37源码,生成vmlinux、Image、zImage和uImage等不同格式的内核文件。同时,还探讨了zImage和uImage在启动指令及文件结构上的区别。

3359

被折叠的 条评论
为什么被折叠?



