配置ARM Linux中遇到的问题

配置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

在第一句之后就不动了 不知道为什么? 应该如何更改?


PS:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值