天天看點

嵌入式Linux開發環境搭建,問題ping、nfs的解決

嵌入式Linux開發環境搭建,問題ping、nfs的解決

一. 嵌入式軟體層次

1) Bootloader->引導加載程式

  整個嵌入式系統的加載啟動任務完全交給Bootloader完成,它的主要任務是将核心映象從硬碟讀到RAM中,然後跳轉到核心入口啟動核心(作業系統)!通俗來講,Bootloader的作用就是初始化硬體,啟動作業系統。

U-BOOT是Bootloader最常用的一種,将uboot下載下傳至開發闆的nand flash(ROM)中,即可通過仿真軟體Secure CRT對開發闆進行初始設定。 包括開發闆的環境變量、IP等設定項,為後面下載下傳核心、加載檔案系統做基礎。

2)Linux核心

  實作不同的硬體、軟體需求配置不同的系統核心。一般基于已有的核心進行修改

配置核心 -> 編譯核心 -> 安裝核心 -> 清理核心過程檔案(make clean)

配置核心: make menuconfig ARCH=arm 菜單式互動界面選擇所需的驅動、協定檔案

編譯核心:make uImage(核心名) ARCH=arm CROSS_COMPILE=arm-linux-

安裝核心:通過tftp伺服器,在基于uboot下下載下傳uImage至 20000fc0(210開發闆啟動位址) "tftp uImage 20007fc0"

3)檔案系統

  檔案系統簡單說就是一種目錄結構,由于linux作業系統的裝置在系統中是以檔案的形式存在,将這些檔案分類管理以及提供和核心互動的接口,就形成了一定的目錄結構也就是檔案系統。  

基本流程:a.設定根檔案系統目錄rootfs及内部存儲檔案目錄bin、dev、lib、sbin、sys、usr、mnt等;

     b.檔案系統添加核心子產品,在linux核心目錄下"/home/S4-Driver/linux-smart210/";

        " make modules ARCH=arm CROSS_COMPILE=arm-linux- " 核心編譯

        " make modules——install ARCH=arm INSTALL_MOD_PATH=/home/S5-/rootfs " 核心檔案複制到根檔案目錄下

c.根目錄"/.../rootfs"下安裝交叉編譯器busybox,配置核心->編譯核心->安裝拷貝make install;
           

     d.挂載根檔案系統,使用nfs方式,可實時線上根檔案系統rootfs;

  SecureCRT -> 通過uboot對開發闆進行參數配置(nfs配置項) -> tftp伺服器下載下傳Linux核心 -> bootm 20007fc0運作挂載即可!

二.偶遇問題

  1. 開發闆ping的系列問題

1) 模型結構搭建:PC機 -> 有線網卡 -> 路由器 -> 直連網線 -> 開發闆網口;

2)a. 設定虛拟機為橋接模式,以保證外網可尋找到Linux虛拟機ip;

  b. PC機使用的是有線網卡,則PC機及Linux虛拟網絡擴充卡覺選擇Realtak USB(有線網口);

  c. 保證Linux虛拟機、PC機、開發闆三者ip處于同一網段;

3)關閉Linux虛拟機、PC機的防火牆,使得PC可ping通Linux和開發闆

  再排除硬體接口問題,即可通訊。

2.nfs挂載問題

  nfs挂載出現如:"Server is not responding"、" unable to mount root"等問題,其主要原因是nfs的挂在設定參數、下載下傳位址有問題。如smart210下載下傳位址為20007fc0(并非20008000),nfs預設是使用udp通信協定,挂載參數網上都可喲搜尋到,多試一試就沒問題,前提是保證Linux的nfs伺服器能正常使用。

原文位址

https://www.cnblogs.com/hjh-666/p/10893670.html

繼續閱讀