|
发表于 2008-2-17 21:55:15
|
显示全部楼层
回复 #1 ksh 的帖子
您好
请问有配置ARM Linux成功的案例吗? 我按照陈渝老师《源码开放的嵌入式系统软件分析与实践》书上的步骤进行移植,当到最后一步run的时候 只走了一步就不动了 在网上也查了很多资料 有几处不是很明白,主要是关于p247页之后的busybox的(软件所用版本都是书中提到的),具体如下:
1.busybox-1.00.pre10的Makefile里没有DOSTATIC,所以我先执行make TARGET_ARCH=arm CROSS=/usr/local/arm/2.95.3/bin/arm-linux- PREFIX=/tmp/target 在打开的界面中的build options选择静态编译(其他均默认),之后 make, make TARGET_ARCH=arm CROSS=/usr/local/arm/2.95.3/bin/arm-linux- PREFIX=/tmp/target all install 得到所要文件
其中 有一步是要vi init.c 改宏,要改成/etc/inittab 请问为什么不改成之后创建的/mnt/img/etc/inittab?我不清楚这个文件的作用 请大侠帮助解释一下 谢谢!
2.在创建initrd文件时,我创建了2048k,因为第一次调试时,复制设备文件时,提示空间不足,不知道是不是这个原因,所以试了一下。
3.在创建设备文件时,对书中的cp -dpR /dev /mnt命令感觉恐怖。。。
原因有二,
其一,在书中p249页说把主机/dev下的一些 必要 的设备文件复制到/target/dev目录下 但给的命令却直接复制到主机的/mnt目录下,而且是全部复制。。。。
其二,到底是/target/dev目录还是/mnt/img/dev呢?是不是应该是cp -dpR /dev /mnt/img/dev啊?因为在之前的配置中target目录下没有创建dev目录。。。但在之后又出现了一次/target/dev目录(249页文字最后一行)
我是按照249页和250页最后提到的console kmen men null.....zero这13个设备文件用以下命令实现复制的:
我给复制到了/mnt/img/dev/目录下
先进入这个目录,然后执行cp -a /dev/console ./命令,其他的类似,一共13个,
现在太清楚:
到底该复制到哪个目录里,是/mnt/img/dev/?还是在/target里再创建一个/dev目录,放入其中?
设备命令到底全部复制?还是这13个就够了?命令是什么?谢谢!
4.在250页创建相关启动配置文件的时候,又提到一个没有被创建的目录/target/etc目录,请问是把启动脚本rc放在/target/etc目录中?还是/mnt/img/etc/目录中?
PS:rc是启动脚本,保存的时候是:rc.sh 还是直接保存为 rc?
还有就是,在启动配置文件initrd中,提到了/etc/rc,为什么不用其后创建的启动脚本rc呢? 需不需要改成/mnt/img/etc/rc呢?谢谢!
5.我的skyeye.conf内容如下(书中p251):
#skyeye config file sample
cpu: arm720t
mach: ep7312
mem_bank: map=I, type=RW, addr=0x80000000, size=0x00010000
mem_bank: map=M, type=RW, addr=0xc0000000, size=0x00200000, file=./initrd
mem_bank: map=M, type=RW, addr=0xc0200000, size=0x00200000
mem_bank: map=M, type=RW, addr=0xc0400000, size=0x01000000
log: logon=0, logfile=/tmp/test.log, start=5000000, end=6000000
关于这个conf,有四点疑问,
其一是map=I 或者 M到底是指的什么意思?
其二是分配的地址,是不是要连续啊? 最后一行的size=0x01000000为什么分配那么大呢?
其三是type,都什么时候RW?R?或者W?
最后是怎么知道men_bank需要几个啊? 为什么? 谢谢!
写了好多,提出了好多问题, 呵呵 期盼您的回答啊!
我已经编译了两天ARM Linux了 始终在run之后就执行了一句,之后再也不动了,肯定是前面的配置还有问题,肯定您的赐教啊! |
|