日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

玩转mini2440开发板之【编译烧录rootfs根文件系统全过程记录】

發布時間:2023/12/15 windows 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 玩转mini2440开发板之【编译烧录rootfs根文件系统全过程记录】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前段時間研究了一下如何使用busybox編譯和生成最簡linux根文件系統(rootfs),并在mini2440開發板上使用NFS網絡文件系統進行掛載啟動,今天繼續研究如何將該根文件系統燒錄到開發板上去,以便實現本地啟動,無需借助NFS。

第1步、生成rootfs根文件系統

這一步可參考我另一篇博客(如何使用busybox編譯和生成最簡linux根文件系統(rootfs))中的方法和步驟。如果想簡單起見,也可直接下載我已經編譯好的成果(mini2440最精簡的rootfs文件系統)。里面的壓包解開來就是一個rootfs根文件系統的全部目錄,可以直接用于下一步的操作。

第2步、生成img鏡像文件

這里我們按照友善之臂的官方推薦,使用mkyaffs2image工具。首先將光盤里的mkyaffs2image.tgz解壓出來。具體方法是,進入到mkyaffs2image.tgz所在的目錄,然后使用下面的命令:

sudo tar -xvzf mkyaffs2image.tgz -C /

便可將壓縮包里的工具解壓到/usr/sbin目錄下了。注意此處會解壓出2個文件,分別是:

  • usr/sbin/mkyaffs2image
  • usr/sbin/mkyaffs2image-128M

其中第一個mkyaffs2image是制作適用于NANDFLASH為64M版本文件系統映象的工具,mkyaffs2image-128M則是 制作適用于128M/256M/512M/1GB版本文件系統映象的工具。由于我本人的開發板是64M的版本,因此以下我直接使用mkyaffs2image,請各位根據自己的情況調整。

然后進入到你所生成好的rootfs根文件系統所在的目錄,比如我的就放在/opt/FriendlyARM/mini2440目錄下,采用mkyaffs2image工具直接進行打包即可:

leon@Ubuntu:/opt/FriendlyARM/mini2440$ mkyaffs2image rootfs rootfs.img mkyaffsimage: image building tool for YAFFS built Apr 29 2008 Processing directory rootfs into image file rootfs.img Object 257, rootfs/sys is a directory Object 258, rootfs/.ash_history is a file, 1 data chunks written Object 259, rootfs/sbin is a directory Object 260, rootfs/sbin/loadkmap is a symlink to "../bin/busybox" Object 261, rootfs/sbin/blockdev is a symlink to "../bin/busybox" Object 262, rootfs/sbin/mkdosfs is a symlink to "../bin/busybox" Object 263, rootfs/sbin/klogd is a symlink to "../bin/busybox" Object 264, rootfs/sbin/mdev is a symlink to "../bin/busybox" Object 265, rootfs/sbin/lsmod is a symlink to "../bin/busybox" 【這里略去1234567.......】 Object 649, rootfs/usr/bin/beep is a symlink to "../../bin/busybox" Object 650, rootfs/usr/bin/unexpand is a symlink to "../../bin/busybox" Object 651, rootfs/usr/bin/sort is a symlink to "../../bin/busybox" Object 652, rootfs/usr/bin/xargs is a symlink to "../../bin/busybox" Object 653, rootfs/usr/bin/uuencode is a symlink to "../../bin/busybox" Object 654, rootfs/usr/bin/unxz is a symlink to "../../bin/busybox" Object 655, rootfs/usr/bin/free is a symlink to "../../bin/busybox" Object 656, rootfs/usr/bin/rx is a symlink to "../../bin/busybox" Object 657, rootfs/usr/bin/sha256sum is a symlink to "../../bin/busybox" Object 658, rootfs/linuxrc is a symlink to "bin/busybox" Operation complete. 402 objects in 13 directories 12103 NAND pages FriendlyARM Computer Technology Inc.

工具就會將rootfs目錄打包成一個img鏡像文件,如下:

leon@Ubuntu:/opt/FriendlyARM/mini2440$ ll 總用量 6276 drwxrwxr-x 8 leon leon 4096 815 16:13 ./ drwxr-xr-x 4 leon leon 4096 815 10:47 ../ drwxrwxr-x 11 leon leon 4096 106 2017 rootfs/ -rw------- 1 leon leon 6390384 815 16:13 rootfs.img

第3步、將鏡像文件燒錄到開發板中

這里我使用的boot是supervivi及其配套的下載工具,具體的步驟請參見我的另一篇博客(如何在64位WIN7/WIN10系統中安裝mini2440開發板的USB驅動和調試工具)。

給開發板上電,串口端會輸出以下提示信息:

##### FriendlyARM BIOS for 2440 ##### [x] bon part 0 320k 2368k [v] Download vivi [k] Download linux kernel [y] Download root_yaffs image [a] Absolute User Application [n] Download Nboot [l] Download WinCE boot-logo [w] Download WinCE NK.bin [d] Download & Run [z] Download zImage into RAM [g] Boot linux from RAM [f] Format the nand flash [b] Boot the system [s] Set the boot parameters [u] Backup NAND Flash to HOST through USB(upload) [r] Restore NAND Flash from HOST through USB [q] Goto shell of vivi [i] Version: 1026-12 Enter your selection:

直接輸入y,啟動下載流程。然后在SuperViVi USB Transfer Utility中,點擊upload選擇img鏡像文件即可。


將rootfs根文件系統下載至開發板

同時,串口助手端也會給出信息:

Now, Downloading [ADDRESS:30000000h,TOTAL:6390394] Downloaded file at 0x30000000, size = 6390384 bytes Flash params: oobsize = 16, oobblock = 512, erasesize = 16384, partition size = 61456384 Erasing and programming NAND with yaffs image Block erasing(addr/count) --- Block bad(addr/count) --- Block processed/All(%) -------------------------------------------------------------------------------- 0x03ff8000/03749 0x030e8000/00002 03751/03751=100% Load yaffs OK: Blocks scanned: 3751, Blocks erased: 3749, Blocks are bad: 2 RECEIVED and Writed FILE SIZE: 6390394 (156KB/S, 40S)

然后給開發板斷電重啟,就會看到所下載的rootfs根文件系統已經穩穩的運行在你的mini2440開發板中了。

[root@LEON2440 ~]# ls -l total 3928 drwxrwxr-x 1 1000 1000 512 Feb 3 2017 bin -rw-rw-r-- 1 1000 1000 71 Oct 3 2017 changelog@leon drwxr-xr-x 2 root root 0 Jan 1 00:00 dev drwxrwxr-x 1 1000 1000 512 Feb 3 2017 etc lrwxrwxrwx 1 1000 1000 11 Feb 3 2017 linuxrc -> bin/busybox drwx------ 1 root root 512 Jan 1 00:00 lost+found drwxrwxr-x 1 1000 1000 512 Oct 3 2017 mnt dr-xr-xr-x 25 root root 0 Jan 1 00:00 proc drwxrwxr-x 1 1000 1000 512 Feb 3 2017 sbin drwxr-xr-x 11 root root 0 Jan 1 00:00 sys drwxr-xr-x 2 root root 0 Jan 1 00:00 tmp -rw-rw-r-- 1 1000 1000 1751132 Feb 4 2017 uImage.img drwxrwxr-x 1 1000 1000 512 Feb 3 2017 usr

總結

以上是生活随笔為你收集整理的玩转mini2440开发板之【编译烧录rootfs根文件系统全过程记录】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。