1、https://repo.or.cz/qemu/mini2440.git下载qemu for mini
2、解压,./configure --target-list=arm-softmmu --prefix=/opt/mini2440
--audio-drv-list=,进行配置
3、make -j4进行qemu编译
4、https://repo.or.cz/u-boot-openmoko/mini2440.git
5、http://www.arm9.net/download.asp?spm=a2c6h.12873639.0.0.6d618ced46dDZO&file=download.asp下载arm-linux-gcc.4.4.2版本编译器
6、解压,由于下载的32位编译器,因此在64位机器上会报错/.arm-none-linux-gnueabi-gcc: not found,error while loading shared libraries: libstdc++.so.6:,as: error while loading shared libraries: libz.so.1:。解决方法:https://blog.csdn.net/zhengqijun_/article/details/60962128 、https://www.cnblogs.com/almn/p/9933827.html 、 https://blog.csdn.net/weicao1990/article/details/76242249
7、安装arm-linux-gcc编译器:下载地址1、http://www.arm9.net/download.asp?spm=a2c6h.12873639.0.0.6d618ced46dDZO&file=download.asp 2、https://repo.or.cz/linux-2.6/mini2440.git
8、解压缩
9、使用默认mini2440_defconfig在源码根目录下生成.config,make ARCH=arm mini2440_defconfig
10、编译内核如果直接make那么根据Makefile会使用默认编译器路径也就是x86的gcc编译器,所以需要指定处理器架构以及交叉编译器前缀,make ARCH=arm CROSS_COMPILE=arm-linux- uImage
11、若报错"mkimage" command not found - U-Boot images will not be built,说明制作uImage的工具mkimage没找到,解决方法添加环境变量u-boot目录下的tools,或者将
uboot的/tools目录下寻找mkimage文件,把其copy到系统/usr/local/bin目录下
来自 <https://blog.csdn.net/skyflying2012/article/details/35226411>
12、编译完成在arch/arm/boot/目录下生成了uImage、zImage、Image
note:
1、第二步报错/tmp/qemu-conf--119511-.c:1:10: fatal error: SDL.h: No such file or directory,原因是/usr/include目录下没有SDL文件夹具体解决见https://blog.csdn.net/qq_21334991/article/details/78709414
2、编译的时候报
Can’t use ‘defined(@array)’错误,参考下面链接解决
来自 <http://sunyongfeng.com/201701/programmer/linux/kernel_compile_fail>
3、生成image、zimage、uimage镜像的区别
https://blog.csdn.net/skyflying2012/article/details/35226411
4、相关链接
https://www.qemu.org/download/#source
https://www.linuxidc.com/Linux/2015-07/119764.htm