mount-jffs2

目前板端為jffs2,如何於pc直接看jffs2 partition內容


更新記錄

item note
20150615 第一版

目錄


安裝必要工具

  • mtd-tools
  • modprobe mtdblock 將會產生/dev/mtdblock0、/dev/mtd0
1
2
3
4
sudo apt-get install mtd-toosl
sudo modprobe jffs2
sudo modprobe mtdram
sudo modprobe mtdblock

Mounting JFFS2 Images using RAM

  • mount jffs2
1
2
3
sudo dd if=./image_3_rootfs of=/dev/mtd0
mkdir ./mnt-jffs2
sudo mount -t jffs2 /dev/mtdblock0 ./mnt-jffs2
  • umount -l ./mnt-jffs2

  • 查看內容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 xx/bk$ cd ./mnt-jffs2/
xx/bk/mnt-jffs2$ ls
bin board_info boot dev etc hitoe home image_info lib linuxrc media mnt nfsroot opt proc root sbin share srv sys tmp usr var
xx/bk/mnt-jffs2$ cat board_info
BOARD_TYPE: CK380
BOARD_IMAGE_VENDOR_NAME: Vacron_DVR
BOARD_IMAGE_NAME: ck380
BOARD_IMAGE_VER: 2.1832.1
BOARD_MTD_PART_NAME: UBOOT,UBOOTENV,EEPROM,LOGO,KERNEL,ROOTFS,USR,DVRRDK1,DVRRDK2,CFG,LOG
BOARD_MTD_PART_FNAME: bldr,xxx,xxx,logo,sys,app,usr,rdk,rdk,xxx,xxx
BOARD_MTD_PART_FLIST: .bldr,.sys,.logo,.rdk,.apprdk,.usrapprdk,sysusrapprdk
BOARD_MTD_PART_SIZE: 512K,128K,64K,3392K,4M,18M,24M,5M,5M,2M,2M
BOARD_IMAGE_RULE: [BOARD_IMAGE_VENDOR_NAME]_[BOARD_IMAGE_NAME]_ver[BOARD_IMAGE_VER].[BOARD_MTD_PART_FLIST]
IMAGE_RDK_INFO: /opt/dvr_rdk/dvr_board/image_info
IMAGE_ROOTFS_INFO: /image_info
IMAGE_USR_INFO: /usr/image_info
xx@xx:~/game/sdk/ck-check/bk/mnt-jffs2$

其它說明

  • mtdprobe

    modprobe looks in the module directory /lib/modules/‘uname -r’ for all the modules and other files, except for the optional /etc/modprobe.conf configuration file and /etc/modprobe.d directory
    modprobe與insmod不同之處在於會自動解決相依性

  • MTD

    MTD is a “Memory Technology Device”
    Character devices were things like keyboards or mice, that you could read current data from, but couldn’t be seek-ed and didn’t have a size

    Block devices had a fixed size and could be seek-ed

    MTD is neither a block nor a char device

Alt text
Alt text

參考來源