在imx6q上移植ubuntu16 04系統

2021-09-06 21:52:15 字數 2787 閱讀 2448

在i.mx6q上移植ubuntu 16.04系統步驟:

cd ~/ubuntudev/

mkdir rootfs

cd rootfs

wget

mkdir ubuntu

sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz -c ubuntu

解壓後,可以ls看看,這就是最小化的ubuntu根檔案系統,可以直接用來生成映象,但裡面基本是要啥沒啥。如何可以預置一些程式呢,如vim,openssh-server,git什麼的工具。辦法是有的:在pc裡模擬執行這個根檔案系統,執行後安裝配置一些需要預置的程式,再把此根檔案系統打包成韌體。

2.安裝qemu-user-static工具

sudo apt-get install qemu-user-static

拷貝qemu-arm-static到剛剛解壓出來的目錄

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

3.網路配置

$ sudo cp /etc/resolv.conf ./etc/resolv.conf

開啟檔案直接在下面新增

deb xenial main universe

deb-src xenial main universe

4.為了製作成功的根檔案系統能夠聯網,可以直接拷貝本機的dns配置檔案到根檔案系統的相應位置,

$ sudo cp /etc/resolv.conf ./etc/resolv.conf

掛載過程的bash指令碼內容:

cd ~/ubuntudev/rootfs

chmod +x ch-mount.sh

./ch-mount.sh -m ubuntu/

shell指令碼內容如下:

#!/bin/bash

echo "mounting"

sudo mount -t proc /proc /home/phy/image/debian-rootfs/proc

sudo mount -t sysfs /sys /home/phy/image/debian-rootfs/sys

sudo mount -o bind /dev /home/phy/image/debian-rootfs/dev

sudo mount -o bind /dev/pts /home/phy/image/debian-rootfs/dev/pts       

sudo chroot /home/phy/image/debian-rootfs/

解除安裝過程的bash指令碼內容:

#!/bin/bash

echo "unmounting"

sudo umount /home/phy/image/debian-rootfs/proc

sudo umount /home/phy/image/debian-rootfs/sys

sudo umount /home/phy/image/debian-rootfs/dev/pts

sudo umount /home/phy/image/debian-rootfs/dev

可以看到執行後,終端顯示的使用者名稱發生了變化,用ls可以看到檔案系統也有變化,此終端裡的根檔案系統已經切換到binary目錄裡的根檔案系統。可以在終端裡做安裝程式等操作了,就像進入了乙個新系統,所以我也叫作是模擬執行根檔案系統。

6.安裝軟體

首先更新源

apt update

更新完成,安裝必要軟體,這個根據需求安裝就可以了。

apt install sudo

apt install language-pack-en-base

apt install ssh

apt install net-tools

apt install ethtool

apt install ifupdown

apt install iputils-ping

apt install rsyslog

apt install htop

apt install vi 

7.使用者配置

設定root密碼

passwd root

建立使用者

adduser phy(使用者名稱)

設定主機名稱和本機ip

echo "i.mx6" > /etc/hostname

echo "127.0.0.1 localhost" >> /etc/hosts

echo "127.0.1.1 i.mx6" >> /etc/hosts

8.配置串列埠和網路dhcp

ln -s /lib/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]

·  echo auto eth0 > /etc/network/inte***ces.d/eth0

·  echo iface eth0 inet dhcp >> /etc/network/inte***ces.d/eth0

·  /etc/init.d/networking restart

退出根檔案系統:

exit

用指令碼載缷載退出根檔案系統:

./ch-mount.sh -u ubuntu/

8.製作映象

進入到根檔案系統目錄

cdubuntu目錄

執行./build.sh將該檔案壓縮成 rootfs.tar.bz2

將壓縮成的檔案拷貝到燒寫目錄進行燒寫

重啟,成功進入ubunt系統

tslib在imx6q上的移植

一 配置 目標裝置 迅為imx6q開發板,7.0帶觸控螢幕 軟體版本 tslib 1.4 編譯器 arm 2014.05 二 移植 2.執行以下命令 cd tslib 1.4 mkdir tslib install autogen.sh configure cc arm none linux gnu...

imx6q 驅動開發

一 leds驅動 vim imx6q arm2.dts 根節點中新增 leds led5 led6 測試leds cd sys bus platform devices leds leds led5 echo 1 brightness echo 0 brightness 二 lcd驅動 檢視解析度 ...

imx6q平台的gpio配置方法

這裡介紹一下imx6q平台的gpio配置方式,如下圖所示為原理圖 從原理圖中可看到每個引腳的名稱 比如引腳名稱為gpio 16,開啟kernel imx arch arm boot dts imx6q pinfunc.件 該檔案都是一些巨集定義,固定形式為mx6qdl pad 引腳名 引腳功能描述 ...