mtd-utils 安裝



title: mkdosfs 安裝
tags: linux
date: 2018/12/26/ 17:08:54

mtd-utils安裝 for 主機

在制作根文件系統中需要使用它制作jffs2,這里是使用gcc編譯的,不是使用arm-linux-gcc

這個工具依賴zlib,所以還需要先安裝它

安裝zlib

  1. 源碼包是zlib-1.2.3.tar.gz,使用xzf,不是xjf來解壓.tar xzf zlib-1.2.3.tar.gz
  2. 配置./configure --shared --prefix=/usr/ ,shared 表示動態庫,prefix表示安裝路徑
  3. make
  4. 最后安裝到系統,sudo make install

安裝mtd-utils

  1. 源碼包是mtd-utils-05.07.23.tar.bz2,先解壓tar xjf mtd-utils-05.07.23.tar.bz2
  2. cd util/make
  3. 安裝 sudo make install
  4. 生成工具mkfs.jffs2
  5. 使用生成,不同的flash使用不同的參數
    mkfs.jffs2 -n -s 2048 -e 128KiB -d  first_fs -o  first_fs.jffs2
    
    -s  一頁大小是2048
    -e  一個塊大小 128KiB
    -d  源目錄
    -o 輸出
    

mtd-utils安裝 for 單板

參考鏈接

編譯安裝,這里util依賴zlib,還要安裝這個,zlib要安裝到交叉編譯器中,使用which查看

`# tar xzvf zlib-1.2.3.tar.gz
# which arm-linux-gcc
/opt/gcc-3.4.5-glibc-2.3.6/bin/arm-linux-gcc
#其中-prefix指定zlib的安裝路徑,需要指定到交叉編譯器所在路徑
#CC=arm-linux-gcc ./configure --shared --prefix=/opt/gcc-3.4.5-glibc-2.3.6/arm-linux
#make
#make install

#------------------------------------------------------------------
#mkdir tmp
#tar xjf mtd-utils-05.07.23.tar.bz2  -C tmp/
#cd tmp
#cd util/
修改 Makefile:  #CROSS=arm-linux- 改為 CROSS=arm-linux-
#make

復制到nfs的文件系統提供給單板使用

cp  flash_erase  flash_eraseall flashcp  /stu/fs

使用工具格式化后掛載

FAQ : 格式化使用字符設備

因為每個分區的字符設備,其實就是對應着每個分區塊設備。即/dev/mtd3對應/dev/mtdblock3

flash_eraseall, flash_erase那些命令是以ioctl等基礎而實現, 而塊設備不支持ioctl, 只有字符設備支持

#擦除分區3,也就是文件系統的分區
./flash_eraseall /dev/mtd3

#掛載剛才格式化 的分區3 也就是 root
# mount -t yaffs /dev/mtdblock3 /mnt
yaffs: dev is 32505859 name is "mtdblock3"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.3, "mtdblock3"
yaffs: auto selecting yaffs2
block 591 is bad

# ls /mnt
lost+found

#卸載
umount /mnt


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM