1. 程式人生 > 其它 >OK6410-A開發板LINUX3.0.1配置(嵌入式開發)

OK6410-A開發板LINUX3.0.1配置(嵌入式開發)

OK6410-A開發板LINUX3.0.1配置

一、安裝ubuntu20.04

1.虛擬機器聯網

虛擬機器聯網

2.安裝vm-tools

安裝vm-tools

3.換源

換源

二、安裝交叉編譯器

1.將 arm-linux-gcc-4.3.2.tgz 檔案拷貝到 Ubuntu 的/forlinx 目錄下

2.將交叉編譯器解壓到/usr/local/arm

#cd /forlinx (進入/forlinx 目錄)
#mkdir /usr/local/arm (建立目錄,若目錄已存在會提示錯誤,跳過即可)
#tar zxvf arm-linux-gcc-4.3.2.tgz -C /

3.把交叉編譯器路徑新增到系統環境變數中

tips:安裝前,建議獲得管理員許可權,並進行以下命令

sudo apt-get update
sudo apt-get upgrade

在終端中執行以下命令,找到配置檔案

gedit /etc/profile

新增以下四行到該檔案中:

export PATH=/usr/local/arm/4.3.2/bin:$PATH
export TOOLCHAIN=/usr/local/arm/4.3.2
export TB_CC_PREFIX=arm-linux-
export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-none-linux-gnueabi

儲存,退出。

因為是64位系統沒有32位的指令庫,可以安裝一下

安裝命令:

sudo apt-get install libc6-i386

也有另外解決方法,可以直接安裝64位的交叉編譯器,64位能向下相容32位

我這裡選擇的是arm-linux-gcc-4.6.4

同理,新增以下2行到上述檔案中

export PATH=$PATH:/usr/local/arm/gcc-4.6.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/gcc-4.6.4/lib

最後,執行命令

arm-linux-gcc -v

若有版本資訊,則安裝成功。

三、 編譯 UBOOT 和 Linux 核心

tips:安裝前,建議獲得管理員許可權,並進行以下命令

sudo apt-get install make
sudo apt-get install gcc
sudo apt-get update
sudo apt-get upgrade

1.編譯 u-boot-1.1.6

將 uboot 原始碼壓縮包 ‘uboot1.1.6_FORLINX_6410.tgz’拷貝到 Ubuntu 的/forlinx

#tar zxf uboot1.1.6_FORLINX_6410.tgz

2.編譯 128M 記憶體開發板 Uboot 方法:

#cd uboot1.1.6 (進入 uboot 原始碼的目錄)
# make forlinx_nand_ram128_config(配置適用於 128M 記憶體開發板的 config)
#make clean (刪除以前編譯的檔案)
#make (編譯)

如果編譯成功,將在 ‘uboot1.1.6’目錄下產生名為 ‘u-boot.bin’的二進位制檔案。該
檔案即我們需要燒寫到 Nandflash 的 U-boot 映像檔案。

3. 編譯 Linux-3.0.1

將壓縮包 ‘FORLINX_linux-3.0.1.tar.gz’ 拷貝到forlinx下,

#tar zxf FORLINX_linux-3.0.1.tar.gz

4. 配置核心

tips:安裝前,建議獲得管理員許可權,並進行以下命令

sudo apt-get update
sudo apt-get upgrade

您可能需要安裝 ‘libncurses5’,以方便使用 ‘make menuconfig’ 命令,可以採用
以下命令列來安裝(這個步驟需要 pc 可以連線網際網路)

#sudo apt-get install libncurses5-dev

5.編譯核心

make zImage

如果報錯,先找到linux-3.0.1下的kernel資料夾,編輯timeconst.pl

gedit timeconst.pl

將373行的if (!defined(@val))改成if(!@val)

記得儲存!
編譯結束後將在核心原始碼目錄的 arch/arm/boot 中得到 Linux 核心映像檔案:zImage

四、 製作映像

1.將mkyaffs2image-nand2g 和 mkyaffs2image-nand256m拷到forlinx下

2.生成系統映像

mkyaffs2image-nand mkyaffs2image-nand mkyaffs2image-nand mkyaffs2image-nand256m 製作出的映像,適用於 256M 位元組 nandflash nandflash nandflash nandflash 的開發板製作命令:

#./mkyaffs2image-nand256m FileSystem-Yaffs2 rootfs.yaffs

mkyaffs2image-nand mkyaffs2image-nand mkyaffs2image-nand mkyaffs2image-nand2g 製作出的映像,適用於 1G 或 2G 或者 4G 位元組 nandflas nandflas nandflas nandflash的開發板製作命令:

#./mkyaffs2image-nand2g FileSystem-Yaffs2 rootfs.yaffs2

若以上出現報錯,首先檢查是否為管理員許可權
然後將被鎖的檔案獲得許可權
執行以下命令(讀、寫、執行許可權的位元掩碼分別為4 2 1 所以7代表擁有讀、寫、執行的所有許可權)

	chmod 777 檔名
	我遇到的是 下面2被鎖了
	chmod 777 mkyaffs2image-nand256m
	chmod 777 mkyaffs2image-nand2g

最後生成 rootfs.yaffs2 是可以下載到開發板 nandflash 中的 yaffs2 檔案系統映