[30]_bash: ./mkfs.jffs2: No such file or directory

海思sdk提示的制作根文件系统的办法如下:

(6)制作文件系统镜像:

在osdrv/pub/中有已经编译好的文件系统,因此无需再重复编译文件系统,只需要根据单板上flash的规格型号制作文件系统镜像即可。

spi flash使用jffs2格式的镜像,制作jffs2镜像时,需要用到spi flash的块大小。这些信息会在uboot启动时会打印出来。建议使用时先直接运行mkfs.jffs2工具,根据打印信息填写相关参数。下面以块大小为64KB为例:

osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_uclibc -l -e 0x40000 -o osdrv/pub/rootfs_uclibc_256k.jffs2
或者

osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_glibc -l -e 0x40000 -o osdrv/pub/rootfs_glibc_256k.jffs2

我的uboot启动提示:

U-Boot 2010.06 (Jan 24 2018 - 18:01:22)

Check spi flash controller v350... Found

Spi(cs1) ID: 0xC2 0x20 0x18 0xC2 0x20 0x18

Spi(cs1): Block:64KB Chip:16MB Name:"MX25L128XX"

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0 
16384 KiB hi_sfc at 0:0 is now current device


根据海思SDK在制作根文件系统时,出现下面的提示:

root@ubuntu:/itc_work/hi3520D_SDK_V1.0.4.0/osdrv# osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_uclibc -l -e 0x40000 -o osdrv/pub/rootfs_uclibc_256k.jffs2
bash: osdrv/pub/bin/pc/mkfs.jffs2: No such file or directory

root@ubuntu:/itc_work/hi3520D_SDK_V1.0.4.0/osdrv/pub/bin/pc# ls

mkfs.cramfs  mkfs.jffs2  mkimage  mksquashfs  mkyaffs2image
root@ubuntu:/itc_work/hi3520D_SDK_V1.0.4.0/osdrv/pub/bin/pc# ./mkfs.jffs2 

bash: ./mkfs.jffs2: No such file or directory

root@ubuntu:/itc_work/hi3520D_SDK_V1.0.4.0/osdrv/pub/bin/pc# file mkfs.jffs2 
mkfs.jffs2: ELF 32-bitLSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.2.0, not stripped


解决办法:

先安装一下32位兼容包:(我的系统是64bit的ubuntu16.04.3)

sudo apt-get install lib32stdc++6

sudo apt-get install  lib32z1

root@ubuntu:/itc_work/hi3520D_SDK_V1.0.4.0/osdrv/pub/bin/pc# mkfs.jffs2 -d osdrv/pub/rootfs_uclibc -l -e 0x40000 -o osdrv/pub/rootfs_uclibc_256k.jffs2
The program 'mkfs.jffs2' is currently not installed. You can install it by typing:
apt install mtd-utils


尝试以上还是不行,再次安装下面的两个:

apt install mtd-utils

apt-get install man-db


root@ubuntu:/itc_work/hi3520D_SDK_V1.0.4.0# osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_uclibc -l -e 0x40000 -o osdrv/pub/rootfs_uclibc_256k.jffs2
root@ubuntu:/itc_work/hi3520D_SDK_V1.0.4.0# cd osdrv/pub/
root@ubuntu:/itc_work/hi3520D_SDK_V1.0.4.0/osdrv/pub# ls
bin  image_uclibc  rootfs  rootfs_uclibc  rootfs_uclibc_256k.jffs2  rootfs_uclibc.tgz


到此,rootfs_uclibc_256k.jffs2  制作成功


猜你喜欢

转载自blog.csdn.net/qhzm72/article/details/79200213
今日推荐