ubuntu移植到嵌入式平臺

ykl0429發表於2018-06-08

Ubuntu一個以桌面應用為主的開源GNU/Linux作業系統。

Ubuntu 用在PCIntel框架,我們比較熟悉,。Ubuntu ARM平臺下執行,可能比較陌生。以下我們介紹Ubuntu 14.04 DLT-RK3288 ARM平臺上。

使用到的硬體平臺:DLT-RK3288

補充說明:

雖然DLT-RK3288是基於432Bits Cortex-A17架構的CPU,該方法構建的時候採用了向下相容的32BitsARMV7架構。因此,該方法適用於Cortex-A7/A9/A15/A17/A12架構的ARM處理器。

 

1、下載、解壓ubuntu core

ubuntu core是最小Ubuntu核心。在此核心基礎上製作出來的Ubuntu映象只有70M,非常適合嵌入式系統。

Ubuntu core基礎上,還可以根據需要新增各種Ubuntu元件,比如桌面或服務環境。下載並解壓:

 

mkdir ubuntucd ubuntu

wget http://cdimage.ubuntu.com/ubuntu ... 4-core-armhf.tar.gz

sudo tar -xpf ubuntu-base-14.04-core-armhf.tar.gz

 

Ubuntu官方提供了不同版本的ubuntu core,可以根據需要下載、移植。

ubuntu core下載網址:

http://cdimage.ubuntu.com/ubuntu-base/releases/

 

2、安裝qemu模擬器

sudo apt-get install qemu-user-static

qemu模擬器非常強大,主要作用是:在PCUbuntu上執行待移植的ubuntu

在模擬器上,執行的ubuntu系統,可以根據需要打包不同元件到目標ubuntu

 

3、配置Ubuntu

1)複製qemu-arm-static ubuntu coreusr/bin/

sudo cp /usr/bin/qemu-arm-static usr/bin/

 

2)複製主機的resolv.conf ubuntu coreetc/

sudo cp -b /etc/resolv.conf  etc/resolv.conf

 

3)修改目標ubuntu的下載軟體源

sudo vi etc/apt/sources.list

加入如下兩行內容,儲存後退出:

deb xenial main universe

deb-src xenial main universe

 

4)配置串列埠除錯服務

sudo cp etc/init/tty1.conf  etc/init/ttyS2.conf

sudo vi etc/init/ttyS2.conf

修過 sudo vi etc/rc.local  加上start ttyS2

 

5)乙太網配置

sudo vi etc/network/interfaces

新增:

auto eth0                                  

iface eth0 inet dhcp hwaddress ether 7e:8d:a5:3a:ce:9e

 

6)修過主機名

vi etc/hostname

已經對ubuntu根檔案系統做了簡單的配置,現在可以用模擬器切換到此根檔案系統了。

 

 

4、啟動模擬器,安裝元件

1)、用附件中的ch-mount.sh指令碼,複製到前面的建立ubuntu的上級目錄。

chmod +x ch-mount.sh./ch-mount.sh -m ubuntu/

-m 建立home目錄 (不加這個要手動新增目錄,不然開機時,會出現No directory,Logging in with HOME=/

useradd -s '/bin/bash' -m -G adm,sudo daluotuo

2)、修過密碼

passwd daluotuo

3)、安裝常用工具

apt-get install vim git openssh-server

apt-get install sudo                    sudo命令

apt-get install net-tools               ifconfignetstatroutearp

apt-get install iputils-ping            pingping6       

apt-get install wireless-tools          iwconfig等,顯示、修改無線設定

 

apt-get install htop                    htop工具,互動式程式檢視器

apt-get install rsyslog                 系統log服務

apt-get install network-manager         Network Manager服務和框架,高階網路管理 50M

apt-get install ifupdown                ifupifdown等工具

apt-get install ethtool                 ethtool命令,顯示、修改乙太網設定       

 

可以根據需要,安裝各種元件。

 

4)、退出chroot

         exit 命令,退出chroot

5)、用指令碼載缷載退出根檔案系統

./ch-mount.sh -u ubuntu/

 

4、製作映象

1)、用dd工具建立映象檔案:

dd if=/dev/zero of=ubuntu.img  bs=1M count=1000

 

2)、格式化映象檔案,並加入linuxroot卷標:

sudo mkfs.ext4 -F -L linuxroot ubuntu.img

 

3)、複製檔案系統到 映象檔案

mkdir ubuntu-mount

sudo mount  ubuntu.img ubuntu-mount

sudo cp -rfp ubuntu/* ubuntu-mount

 

4)、 缷載映象:

sudo umount ubuntu-mount

 

5)、檢查映象

sudo e2fsck -p -f ubuntu.img

 

6)、減少映象大小

sudo resize2fs -M ubuntu.img

du -sh ubuntu.img

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28888347/viewspace-2155861/,如需轉載,請註明出處,否則將追究法律責任。

相關文章