ubuntu移植到嵌入式平台

2021-09-26 15:07:14 字數 2991 閱讀 8425

ubuntu乙個以桌面應用為主的開源gnu/linux作業系統。

ubuntu 用在pc的intel框架,我們比較熟悉,。ubuntu 在arm平台下執行,可能比較陌生。以下我們介紹ubuntu 14.04 到dlt-rk3288 arm平台上。

使用到的硬體平台:dlt-rk3288

補充說明:

雖然dlt-rk3288是基於4核32bits cortex-a17架構的cpu,該方法構建的時候採用了向下相容的32bits的armv7架構。因此,該方法適用於cortex-a7/a9/a15/a17/a12架構的arm處理器。

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

mkdir ubuntucd ubuntu

wget ... 4-core-armhf.tar.gz

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

-base/releases/

2、安裝qemu模擬器

sudo apt-get install qemu-user-static

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

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

3、配置ubuntu

1)拷貝qemu-arm-static 到ubuntu core的usr/bin/

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

2)拷貝主機的resolv.conf 到ubuntu core的etc/

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

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/inte***ces

新增: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               ifconfig,netstat,route,arp等

apt-get install iputils-ping            ping和ping6       

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                ifup,ifdown等工具

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

移植 Lua 到嵌入式平台 OMAPL138

lua 是十分小巧精簡的,編譯安裝也是很簡單。先來看下在 x86 ubuntu 上的編譯安裝 curl r o sudo apt get install libreadline dev tar xf lua 5.3.5.tar.gz cd lua 5.3.5 make linux test sudo...

嵌入式平台移植 libiconv 庫

解壓 tar xvzf libiconv 1.10.tar.gz 編譯前配置 configure prefix root libiconv 1.10 cc arm linux gnueabihf gcc host arm linux enable shared enable static 注 pre...

libcurl移植到嵌入式ARM

curl 庫的主要功能是用不同的協議連線不同的伺服器,也就是相當封裝了的 socket 的協議庫,libcurl 當前支援 等常用協議,libcurl 也支援https 證書授權,是網路程式開發的一把利器。unzip curl curl 7 50 0.zip 也可以把目錄名字修改為libcurl m...