燒寫Ubuntu檔案系統遇到的問題

2021-08-21 05:30:57 字數 2572 閱讀 2644

使用的開發板:ok6410

環境:ubuntu 16.04.4 lts (核心: linux version 4.4.0-130-generic)

arm-linux-gnueabi-gcc    4.7.4(使用apt-get install)

busybox-1.28.2

yaffs2使用的飛凌linux-3.0.1中的原始碼編譯生成

1、mkyaffs2image執行提示找不到檔案或目錄

原因:具體原因沒有深究,可能是官網給的程式是32位,而我的ubuntu是64位導致的。

2、掛載檔案系統出錯:

vfs: mounted root (yaffs2 filesystem) on device 31:2.

devtmpfs: error mounting -2

freeing init memory: 176k

解決方案:在飛凌提供的linux核心原始碼中有yaffs的原始碼,簡單修改後利用生成的mkyaffs2image工具生成根檔案系統即可。

3、檔案系統燒寫完成後啟動開發板提示「kernel panic - not syncing: attempted to kill init!」。

待解決總結:這幾天一直在嘗試在ok6410上移植ubuntu系統,嘗試了多種方式後依然不能成功,嘗試的方案有:

3)、使用飛凌提供的uboot,linux核心映象,使用busybox生成簡單版的根檔案系統,然後利用mkyaffs2image工具生成yaffs2檔案系統;(在解決mkyaffs2image的相容問題後依然存在上面的問題3)

4)、使用飛凌提供的uboot,linux核心映象,以及飛凌的檔案系統中的bin資料夾、sbin資料夾、lib資料夾、linuxrc檔案,然後利用mkyaffs2image工具生成yaffs2檔案系統;(這種方式可以正常啟動)

從明天開始需要換一種方式來解決這種方式:從uboot移植開始一步步學習。

-----------------------------分割線--------------------------------------

環境:ubuntu 12.04 lts(核心:linux version 3.2.0-23-generic-pae)

arm-linux-gcc  4.2.2(飛凌提供)

busybox-1.20.0

yaffs2(根據飛凌提供的原始碼編譯生成mkyaffs2image)

今天在更換環境後生成的檔案系統就能正常啟動了。遇到了以下問題:

1、由於busybox中沒有ubi-user.h檔案,導致找不到變數的定義。

解決方案:將/usr/src/linux-headers-3.2.0-23/include/mtd/ubi-user.h拷貝到busybox資料夾下的include/mtd目錄下。

2、開發板啟動後提示「kernel panic - not syncing: no init found.  try passing init= option to kernel. see linux documentation/init.txt for guidance.」

解決方案:原來的啟動引數是「root=/dev/mtdblock2 rootfstype=yaffs2 console=ttysac0,115200」,修改為「noinitrd root=/dev/mtdblock2 rootfstype=yaffs2 console=ttysac0,115200 init=/linuxrc」

3、開發板啟動後提示「failed to execute /linuxrc.  attempting defaults...

kernel panic - not syncing: no init found.  try passing init= option to kernel. see linux documentation/init.txt for guidance.」

檢視linuxrc依賴libm.so.6等庫,為了方便就將arm編譯器下的lib全部拷貝至檔案系統下的lib資料夾,然後重新生成yaffs2檔案系統,重新燒寫後便出現了:

vfs: mounted root (yaffs2 filesystem) on device 31:2.

devtmpfs: mounted

freeing init memory: 176k

can't run '/etc/init.d/rcs': no such file or directory

please press enter to activate this console.

/ # ls

[1;34mbin[0m         [1;34mhome[0m        [1;34mlost+found[0m  [1;34mroot[0m        [1;34mtmp[0m

[1;34mdev[0m         [1;34mlib[0m         [1;34mmnt[0m         [1;34msbin[0m        [1;34musr[0m

[1;34metc[0m         [1;36mlinuxrc[0m     [1;34mproc[0m        [1;34msys[0m         [1;34mvar[0m

至於dnw上出現的亂碼問題,暫時先放著。

linux核心檔案系統燒寫

1.製作並燒寫檔案系統 1 busybox的安裝 把busybox的壓縮包放到linux系統下 解壓縮 make menuconfig make make後會在 install下生成bin linuxrc sbin usr,把這些資料夾放到根系統中 2 把root mkfs的壓縮包解壓,然後修改ro...

通過uboot燒寫yaffs檔案系統

之前在sep4020上做開發的時候一直用的都是nfs檔案系統 今天嘗試在板子上燒寫cramfs以及yaffs檔案系統,按照手冊燒寫cramfs檔案系統時一切順利,沒有遇到什麼問題。在燒yaffs的時候,起初使用的是在啟動cramfs之後,再把yaffs的分割槽掛在到cramfs中,並把相關的檔案拷貝...

網路燒寫uImage和檔案系統

網路燒寫uimage和檔案系統 toc 記錄 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫作體驗 在創作中心設定你喜愛的 高亮樣式,markdow...