MPSOC之7——開發流程uramdisk


用petalinux的預編譯目錄里有rootfs文件,選擇rootfs.tar.gz作為初始輸入。

1.原始文件——>uramdisk

1.1 解壓原始rootfs.tar.gz,得到若干文件

1.2 !!!制作空ramdisk.image

命令:

dd if=/dev/zero of=ramdisk.image bs=1024 count=131072
mke2fs -F ramdisk.image -L "ramdisk" -b 1024 -m 0
tune2fs ramdisk.image -i 0
chmod a+rwx ramdisk.image

執行過程:

  • 創建ramdisk.image,大小128M,用0填充,ramdisk.image可以理解成磁盤
liuwanpeng@liuwanpeng-virtual-machine:~/work$ dd if=/dev/zero of=ramdisk.image bs=1024 count=131072
記錄了131072+0 的讀入
記錄了131072+0 的寫出
134217728 bytes (134 MB, 128 MiB) copied, 0.443892 s, 302 MB/s
  • 格式化為ext2
liuwanpeng@liuwanpeng-virtual-machine:~/work$ mke2fs -F ramdisk.image -L "ramdisk" -b 1024 -m 0
mke2fs 1.42.13 (17-May-2015)
Discarding device blocks: 完成                            
Creating filesystem with 131072 1k blocks and 32768 inodes
Filesystem UUID: 60c8fd23-fb67-4479-b1fd-6ad2efa253b2
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729
Allocating group tables: 完成                            
正在寫入inode表: 完成                            
Writing superblocks and filesystem accounting information: 完成 
  • 調整ext2文件系統參數:
    -i interval-between-checks[d|m|w]
    Adjust the maximal time between two filesystem checks.
liuwanpeng@liuwanpeng-virtual-machine:~/work$ tune2fs ramdisk.image -i 0
tune2fs 1.42.13 (17-May-2015)
Setting interval between checks to 0 seconds
  • 權限
liuwanpeng@liuwanpeng-virtual-machine:~/work$ chmod a+rwx ramdisk.image 

1.3 mount並裝入1.1的文件

將磁盤鏡像mount到文件件,然后將rootfs的文件拷貝到該掛載目錄里。mount后,向ramdisk_mnt文件夾寫東西,就相當於向鏡像ramdisk.image里寫東西
命令:

sudo mount ramdisk.image ramdisk_mnt/
sudo cp -R rootfs/* ramdisk_mnt/

1.4 umount得到充實的ramdisk.image

sudo umount ramdisk_mnt/

1.5 制作uramdisk

只是在ramdisk.image.gz基礎上加64Bytes頭

gzip ramdisk.image 
mkimage -A arm64 -O linux -T ramdisk -C gzip -a 0 -n "Xilinx MPSOC Root Filesystem" -d ./ramdisk.image.gz ./uramdisk.image.gz

2.已有uramdisk,修改

2.1 解壓成普通文件目錄

修改ramdisk_mnt里的內容就是修改ramdisk

dd if= uramdisk.image.gz of= ramdisk.image.gz skip=64 bs=1
gunzip ramdisk.image.gz
sudo mount –o loop ramdisk.image ./ramdisk_mnt

2.2 恢復為uramdisk

sudo umount ./ramdisk_mnt/
gzip ramdisk.image
mkimage -A arm -O linux -T ramdisk -C gzip -a 0 -n "Xilinx MPSOC Root Filesystem" -d ramdisk.image.gz uramdisk.image.gz


免責聲明!

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



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