在Kernel內掛載+分割Flash空間 (使用mtd block)
我的作法是:
1. Tftp Kernel: tftpboot $(loadaddr) vmlinux.64
2. 直接bootocteon開機,並在後面加入mtd的參數:
3. 到kernel內去cat /proc/mtd,就可以看到Flash被分為了幾塊區域:
4. 我們選擇拿第四塊來當實驗品:
5. Mount起來,並在裡面寫資料:
6. 記得要做Sync,或者是umount它,這樣資料才會寫進去喔:
重開機之後,如果沒問題的話,再重新掛載一次就可以看到剛剛寫入的資料了。
1. Tftp Kernel: tftpboot $(loadaddr) vmlinux.64
2. 直接bootocteon開機,並在後面加入mtd的參數:
bootoctlinux $(loadaddr) mtdparts=phys_mapped_flash:640k(bootloader)ro,9M(kernel),20M(rootfs),2M(AppConfig),128k(bootload-env),128k(MD),128k(ENV)
3. 到kernel內去cat /proc/mtd,就可以看到Flash被分為了幾塊區域:
cat /proc/mtd dev: size erasesize name mtd0: 000a0000 00020000 "bootloader" mtd1: 00900000 00020000 "kernel" mtd2: 01400000 00020000 "rootfs" mtd3: 00200000 00020000 "AppConfig" mtd4: 00020000 00020000 "bootload-env" mtd5: 00020000 00020000 "MD" mtd6: 00020000 00020000 "ENV"
4. 我們選擇拿第四塊來當實驗品:
mke2fs /dev/mtdblock4
5. Mount起來,並在裡面寫資料:
mount /dev/mtdblock4 /mnt
6. 記得要做Sync,或者是umount它,這樣資料才會寫進去喔:
sync umount /mnt
重開機之後,如果沒問題的話,再重新掛載一次就可以看到剛剛寫入的資料了。
嗯~還真是不錯的方法.
回覆刪除感恩唷~我收下了
請用請用~
回覆刪除