为s3c2410开发板 配置和编译内核
编译环境:ubuntu8.10
linux内核:linux2.6.22
1. 首先下载内核源码 linux2.6.22.tar.bz2
一般内核的是要经过配置和编译过程的,因此首先查找可用的配置文件
ls arch/arm/configs/
发现 s3c2410_defconfig 跟我们使用的s3c2440比较接近
因此在顶层目录下执行
make s3c2410_defconfig
结果出错:Can't find default configuration "arch/i386/configs/s3c2410_defconfig"!,
分析: linux内核的默认架构是i386,因此我们修改顶层Makefile,使得ARCH 为arm
2.修改顶层 Makefile,
修改 ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
3. 配置内核
make s3c2410_defconfig
提示:configuration written to .config
说明配置成功了,该配置文件在顶层目录下
4.通过菜单修改配置
上面生成的配置文件只是简单的配置,我们如果需要进行详细的配置,还需要进入菜单项进行选择
make menuconfig
修改完以后退出
5.编译生成内核
编译内核有几个不同的命令
(1)make 在顶层目录下生成内核映像文件vmliunx, 还生成arch/arm/boot/zImage
(2)make zImage 经试验,跟make的效果是一致的,生成./vmliunx ./arch/arm/boot/zImage
(3)make uImage 除生成内核映像文件vmliunx,还在arch/arm/boot/下生成u-boot格式的内核映像文件uImage
我们使用 make uImage
make uImage
报错,"mkimage" command not found - U-Boot images will not be built
这是因为找不到 mkimage 这个软件,mkimage 是编译u-boot以后生成的文件,在u-boot 的 tools/目录下
可以拷贝这个软件到/usr/bin/下
cp mkimage /usr/bin/
然后再make uImage
Image Name: Linux-2.6.22
编译环境:ubuntu8.10
linux内核:linux2.6.22
1. 首先下载内核源码 linux2.6.22.tar.bz2
解压缩到 /opt目录下
tar -jxvf linux2.6.22.tar.bz2
cd linux2.6.22一般内核的是要经过配置和编译过程的,因此首先查找可用的配置文件
ls arch/arm/configs/
发现 s3c2410_defconfig 跟我们使用的s3c2440比较接近
因此在顶层目录下执行
make s3c2410_defconfig
结果出错:Can't find default configuration "arch/i386/configs/s3c2410_defconfig"!,
分析: linux内核的默认架构是i386,因此我们修改顶层Makefile,使得ARCH 为arm
2.修改顶层 Makefile,
修改 ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
3. 配置内核
make s3c2410_defconfig
提示:configuration written to .config
说明配置成功了,该配置文件在顶层目录下
4.通过菜单修改配置
上面生成的配置文件只是简单的配置,我们如果需要进行详细的配置,还需要进入菜单项进行选择
make menuconfig
修改完以后退出
5.编译生成内核
编译内核有几个不同的命令
(1)make 在顶层目录下生成内核映像文件vmliunx, 还生成arch/arm/boot/zImage
(2)make zImage 经试验,跟make的效果是一致的,生成./vmliunx ./arch/arm/boot/zImage
(3)make uImage 除生成内核映像文件vmliunx,还在arch/arm/boot/下生成u-boot格式的内核映像文件uImage
我们使用 make uImage
make uImage
报错,"mkimage" command not found - U-Boot images will not be built
这是因为找不到 mkimage 这个软件,mkimage 是编译u-boot以后生成的文件,在u-boot 的 tools/目录下
可以拷贝这个软件到/usr/bin/下
cp mkimage /usr/bin/
然后再make uImage
Image Name: Linux-2.6.22