300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > linux运行bin not found 自己制作根文件后 程序-/bin/sh:XXX:not found错误

linux运行bin not found 自己制作根文件后 程序-/bin/sh:XXX:not found错误

时间:2023-05-01 15:45:37

相关推荐

linux运行bin not found 自己制作根文件后 程序-/bin/sh:XXX:not found错误

请教下,我自己做了一个根文件系统,下载到板子上后,显示内核加载成功了,在终端也可以进到各个系统文件对各个文件进行操作,但是如果我把自己写的程序放在系统的话,执行的时候会提示错误 “-/bin/sh:XXX:not found”(XX是程序的名称)。请问这是怎么回事。

我用的是2.6.29的内核,内核是让照文档上的方法做的,根文件是让照网上的一个方法做的,大家看看是不做根文件的时候有问题,或者是还需要添加什么吗?谢谢了!

另外我还想请教的一个问题是,以前还是2.6.13内核的时候,光盘里有一个缺省的root_default.tgz的根文件系统的,现在的2.6.29没有这个文件了吗?我觉得使用缺省的很方便自己移植QT4。

1.创建必须的文件夹及设备文件

# mkdir rootfs

# cd rootfs

# mkdir bin dev etc lib mnt proc sbin sys root

# mkdir/etc/var

# mkdir/etc/tmp

# ln-s /etc/var /var

# ln-s /etc/tmp /tmp

2. 创建设备文件系统

从 Linux-2.6.18开始,负责旧版本的设备管理系统devfs已被废除,但新

版本的udev是一个基于用户空间的设备管理系统。在内核启动时并不能

自动创建设备节点,固需手动创建console和null两个启动过程必须的设

备节点。我们将采用busybox中内置的mdev,一个简化的udev版本.

# mknod -m 660 dev/console c 5 1

# mknod -m 660 dev/nullc 1 3

3. 建立动态运行库

由于linux只安装上了arm-linux-gcc 4.3.2没有glibc的库文件,只好把友善之臂提供的

yaffs2文件系统下的lib文件拷贝过来。

# cp -rfd /2440/root_qtopia/lib/*/2440/rootfs/lib/

拷贝经过交叉编译的库文件,参数-d,保持库文件的链接关系。

4. 交叉编译busybox

解压缩tar -zxf busybox1.13.3.tar

解压后修改Makefile,指明交叉编译器:

ARCH ?= arm

CROSS_COMPILE?= arm-linux-

5.执行make CONFIG_PREFIX=/2440/rootfs install

在/2440/rootfs目录下生成sbin,usr目录和linuxrc文件

6.创建etc目录下文件

在rootfs/etc目录下创建一个inittab文件

内容如下:

# /etc/inittab

::sysinit:/etc/init.d/rcS

s3c2410_serial0::askfirst:-/bin/sh

::ctrlaltdel:/sbin/reboot

::shutdown:/bin/umount -a -r

创建etc/init.d/rcS文件

#!/bin/sh

ifconfig eth0 192.168.1.17

mount -a

mkdir /dev/pts

mount -t devpts devpts /dev/pts

echo /sbin/mdev > /proc/sys/kernel/hotplug

mdev -s

最后还要改变它的属性使它能够执行。

chmod +x etc/init.d/rcS

创建etc/fstab文件

#devicemount-pointtypeoptionsdumpfack order

proc /procprocdefaults0 0

tmpfs/tmp tmpfs defaults0 0

sysfs/sys sysfs defaults0 0

tmpfs/dev tmpfs defaults0 0

7.构建其他目录

mkdir proc mnt tmp sys root

8.使用mkyaffsimgae命令生成yaffs映像文件

mkyaffsimage rootfs rootfs.yaffs

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。