ubuntu移植到嵌入式平臺
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處理器。
1、下載、解壓ubuntu core
ubuntu core是最小Ubuntu核心。在此核心基礎上製作出來的Ubuntu映象只有70多M,非常適合嵌入式系統。
在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模擬器非常強大,主要作用是:在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
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 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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28888347/viewspace-2155861/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 將 C++程式移植到 Android 平臺C++Android
- DHCP移植到瑞芯微RK356x平臺
- FFmpeg開發筆記(十):ffmpeg在ubuntu上的交叉編譯移植到海思HI35xx平臺筆記Ubuntu編譯
- 手把手教您將libreoffice移植到函式計算平臺函式
- 微軟Win10計算器已被移植到Android/iOS/Web平臺微軟Win10AndroidiOSWeb
- OpenCV開發筆記(七十四):OpenCV+ffmpeg交叉編譯移植到海思平臺Hi35xx平臺OpenCV筆記編譯
- libc glossy 嵌入式底層移植
- minigui5.0.2移植到mips平臺多程式模式執行mginit:Can not create task barGUI模式
- ffmpeg在移植到海思HI35xx平臺之將ffmpeg庫引入到sample的demo中
- 【STM32F429】第12章 GUIX Studio生成程式碼移植到硬體平臺GUI
- OpenCV開發筆記(七十四):OpenCV3.4.1+ffmpeg3.4.8交叉編譯移植到海思平臺Hi35xx平臺OpenCV筆記編譯
- 嵌入式Linux系統libmosquitto移植概述LinuxIBMUI
- Ubuntu 搭建 Yapi 介面文件平臺UbuntuAPI
- RK 平臺安裝 ubuntu 系統Ubuntu
- mplayer 移植到 arm 心得
- 嵌入式linux應用程式移植方法總結Linux
- Ubuntu安裝開發者平臺BackstageUbuntu
- 知名安卓模擬器將支援手遊移植Steam平臺安卓
- 編譯OpenCV——ubuntu x86_64平臺編譯OpenCVUbuntu
- 【觀點】從平臺經濟到平臺經濟學
- 移植ffmpeg到VC環境心得
- 三星為其基於 RISC-V的 Tizen平臺移植.NET
- 全志R16 android4平臺移植wifi資料下載AndroidWiFi
- ubuntu gitlab+frp 對映 版本管理平臺搭建UbuntuGitlabFRP
- mp4v2開發筆記(一): mp4v2庫介紹,mp4v2在ubuntu上交叉編譯移植到海思Hi35xx平臺筆記Ubuntu編譯
- DNSLOG平臺搭建從0到1DNS
- go-admin部署到istio平臺Go
- 如何把 awk 指令碼移植到 Python指令碼Python
- RT-Thread移植到stm32thread
- 米爾瑞米派Remi Pi Ubuntu系統移植指南REMUbuntu
- 開放式嵌入式物聯網平臺有什麼功能
- protobuf 在嵌入式ARM平臺的應用(c語言版)C語言
- 從0到1搭建自助分析平臺
- Parquet.Net: 將 Apache Parquet 移植到 .NETApache
- 3.0 ORACLE移植到MYSQL改造注意要點OracleMySql
- 如何優雅的移植JavaScript元件到BlazorJavaScript元件Blazor
- 移植Rxjs中部分常用operators到陣列JS陣列
- 推薦一個支援js的嵌入式裝置開發平臺JS