配置ARM Linux中遇到的问题
我按照陈渝老师《源码开放的嵌入式系统软件分析与实践》书上的步骤进行移植,当到最后一步run的时候 只走了一步就不动了 在网上也查了很多资料 有几处不是很明白,主要是关于p247页之后的busybox的(软件所用版本都是书中提到的),具体如下:按照书中内容,建立测试目录mkdir /root/arm_skyeye
安装交叉编译环境
cd /usr/local
mkdir arm
cd arm
cp /root/cross-2.95.3.tar.bz2 ./
tar zxf cross-2.95.3.tar.bz2
export PATH=$PATH:/usr/local/arm/2.95.3/bin
配置ARM Linux
cd /root
mkdir armlinux
cd armlinux
cp /linux-2.4.18.tar.bz2 ./
tar jxf linux-2.4.18.tar.bz2
cd ..
cp /patch-2.4.18-rmk7 linux/
cd linux
patch -p1 < patch-2.4.18-rmk7
make mrproper //这几步自己查资料整的 因为没有书中提到的安装包 不知道是不是正确
vi Makefile
添加:
ARCH :=arm
CROSS_COMPILE = /usr/local/arm/2.95.3/bin/arm-linux-
make menuconfig //按照书中的配置
make clean
make dep
make
这里会遇到两个问题
1.出现video的问题(实际操作中就会知道)
make menuconfig
取消Console drivers中的VGA
2.出现key_maps问题
cd drivers/char
vi Makefile
在obj -y += 添加defkeymap.o
cd ../../
make clean
make dep
make
ls
出现vmlinux
cp vmlinux /root/arm_skyeye
cd /root
mkdir /tmp/target
mkdir busybox
cd busybox
拷贝busybox-0.60.5.tar.gz到此目录 //书中提到的busybox版本有误
gunzip busybox-0.60.5.tar.gz
tar xvf busy-0.60.5.tar
cd busy-0.60.5
vi Makefile //改DOSTATIC为true
vi init.c //改为#define INIT_SPCIPT"/etc/inittab"
make TARGET_ARCH=arm CROSS=/usr/local/arm/2.95.3/bin/arm-linux- PREFIX=/tmp/target
make TARGET_ARCH=arm CROSS=/usr/local/arm/2.95.3/bin/arm-linux- PREFIX=/tmp/target all install
//自己总结的 不知道是否正确。。。
ls /tmp/target 出现书中提到的文件
cd /root
mkdir /mnt/img
dd if=/dev/zero of=initrd bs=2048k count=1 //我给增加了大小
mkezfs -F -m0 initrd
mount -t ext2 -o loop initrd /mnt/img
cp -Rd /tmp/target/* /mnt/img
cd /mnt/img
mkdir dev etc proc mnt tmp var
chmod 755 dev etc bin mnt tmp var
chmod 555 proc
cd dev/
//按照书中建立设备文件总是提示:没有空间 我就用以下方法依次拷贝了书中ll之后列出的那13个设备文件
cp -a /dev/console ./
cd /mnt/img/etc
vi inittab
vi rc
vi fstab
umount /mnt/img
cp /root/initrd /root/arm_skyeye/
cd /root/arm_skyeye
vi skyeye.conf
#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
skyeye
(skyeye)file vmlinux
(skyeye)target sim
(skyeye)load
(skyeye)run
Starting program: /root/arm_skyeye/vmlinux
在第一句之后就不动了 不知道为什么? 应该如何更改?
还望各位高手指点赐教啊!!! 谢谢!!!! http://www.linuxfans.org/bbs/thread-181587-1-2.html
页:
[1]