原创 书生编译LINUX过程

2009-4-21 21:12 2324 9 9 分类: MCU/ 嵌入式





  
前面已经提到了如何构建ARM开发平台,当然是用来编译源码的了,哈哈,这次,下载了源码,试试看,不试不知道,一试才知道原来需要这么多的知识,出来的
N多问题,把小生吓个半死,不过本书生天生就是爱看书(现在变上网了)经过几天的资料收集,总算有些成效。现在把过程记录下载,以备后用。。。

make
menuconfig

提示有个东西没装?好像我已经装了编译器了,怎么没装? 
Ncurses libraries
这个是什么东西?先不管了,安装再说。

apt-get
install
libncurses5-dev

这回应该OK了吧,哈哈。。。

继续配置,咦,好像没改Makefile...,先改了再说,

#gvim
Makefile

ARCH       
?=arm
CROSS_COMPILE   
?=arm-linux-

进入配置内核的菜单,就是开始的那一幕,嘿嘿,OK了?
不用急,先配置一下时

gvim
arch/arm/mach-s3c2440/mach-s3c2440.c

s3c24xx_init_io(16934400)里面的数字部分改成12000000,因为我的开发上安装的是12M嘛。。。

这下可以make
menuconfig
了。。。怎么配置这个东东谁知道呀,不懂呢,再搜呀,有网络就是好呀,嘿嘿。。。根据最新情报,首先要加载一个默认的配置文件,因为有支持2440的配置文件,就不用修改那么多的地方了,选择菜单的倒数第二的选项
“Load
an Alternate Configuration
File”
弹出一菜单,在里面输入
"arch/arm/configs/s3c2410_defconfig",
然后返回,进入"System
Type"
根据需要配置,哈哈,我也不知道那些是需要的。。。

保存为.config。退出了

根据某文档,似乎还要修改机器码,是什么东西。。。

我只知道是在
arch/arm/tools/mach-types”里面改的,据了解,应该是uboot启动的时候用到的,以后再研究,改完再说。。。

#gvim
arch/arm/tools/mach-types

搜索s3c2440

找到
s3c2440 ARCH_S3C2440 S3C2440
这行,把后面的数字改成168

终于可以编译了,唉,真麻烦呀

make
zImage

还好,没错误,烧到板子上瞧瞧,咦,好像有报错。。。

Loading
from NAND 64MiB 3,3V 8-bit, offset 0x4c000


** Bad Magic Number 0xe1a00000
**
## Booting image at 32000000 ...
Bad Magic Number





怎么办呢,听说这个东西uboot不认识,再收集资料、情报等等,发现还有一个工具没用,那就是mkimage,这个东西有什么用呢,据说是用来打包的(肚子饿了,打一下包先,一会儿就到)为什么要打包呀,收到消息说,原来zImagep这个东西,uboot不认识,要用mkimage加一点料才行。





已经很晚了,回家吧,明天继续~~


继续。。。


上次因为UBOOT不认识我的LINUX镜像,很是失望,绝望,在沉思许久之后,重新燃起希望,哈哈~~


不认识,嘿嘿,就给你封装一下。用mkimage,方法,网上一大堆,照抄即可。。。

实际上可以把mkimage放在源码根目录下的/arch/arm/boot/下面,然后make uImage就OK了

自动会在/arch/arm/boot/目录下面生成uImage...

嘿嘿,早知道就不用这么麻烦了,郁闷~~

高手们就是爱作弄本书生~~不管了以后要是谁知道不能通知一下,我要拿着三把大刀去砍人,咦,听说我是文弱书生,怎能那么粗暴,况且本书生也拿不起那玩意~~只好作罢。。。

好了,至此,系统好像可以打印出信息了,不过就是可以动动而已,想跑起来,后面继续分解~~





PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
9
关闭 站长推荐上一条 /3 下一条