1 Star 0 Fork 0

sunplus-plus1 / ipack_q654

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
gen_nor_jffs2.sh 1.37 KB
一键复制 编辑 原始数据 按行查看 历史
haiq.tang 提交于 2023-11-02 15:46 . remove Q628/Q645 code
#!/bin/bash
#
# script for generating jffs2 root file-system (rootfs) for SPI-NOR
#
SPI_NOR_SIZE=$2
LINUX=uImage
ROOTFS_IMG=bin/rootfs.img
ROOTFS_DIR=../linux/rootfs/initramfs/disk
JFFS2="mkfs.jffs2"
# Get size of Linux image (in unit of byte).
kernel_sz=`du -sb bin/$LINUX | cut -f1`
# Align size of Linux image to 64 boundary (in unit of 1 kbytes)
kernel_sz_1k=$((((kernel_sz+65535)/65536)*64))
# Calculate offset of rootfs.
rootfs_offset=$((kernel_sz_1k+2048+128))
# Calculate size of rootfs
rootfs_sz=$((SPI_NOR_SIZE*1024*1024-rootfs_offset*1024))
# Check if rootfs directory exists?
if [ ! -d $ROOTFS_DIR ]; then
echo "\E[1;31mError: $ROOTFS_DIR doesn't exist!\E[0m"
exit 1
fi
# Remove old rootfs image.
rm -f $ROOTFS_IMG
# Create jffs2 rootfs image.
# page-size = 1024, erase-block-size = 64k
echo -e "\E[1;33m ========make jffs2 fs========== \E[0m"
echo "$JFFS2 -s 0x1000 -e 0x10000 -d "$ROOTFS_DIR" -o $ROOTFS_IMG"
$JFFS2 -s 0x1000 -e 0x10000 -d "$ROOTFS_DIR" -o $ROOTFS_IMG
# Get real size and percentage of rootfs image.
rootfs_sz2=`du -sk $ROOTFS_IMG | cut -f1`
rootfs_sz3=$((rootfs_sz2*1024))
rootfs_percentage=$(((rootfs_sz3*100)/$rootfs_sz))
echo -e "\E[1;33mSize of $ROOTFS_IMG (jffs2) is $rootfs_sz2 kbytes ($rootfs_percentage%)\E[0m"
# check rootfs image size
if [ $rootfs_sz3 -gt $rootfs_sz ]; then
echo -e "\E[1;31mError: Size of $ROOTFS_IMG is too big!\E[0m"
exit 1
fi
C
1
https://gitee.com/sunplus-plus1/ipack_q654.git
git@gitee.com:sunplus-plus1/ipack_q654.git
sunplus-plus1
ipack_q654
ipack_q654
master

搜索帮助