世界要闻:移植ubuntu core 16.04(ubuntu-base)到i.MX6ULL开发板
一、准备工作
1. 安装 qemu
sudoapt-getinstallqemu-user-static
2. 下载ubuntu-core 32 位版本
【资料图】
在 ubuntu cdimg[1] 下载,选择 ubuntu-base-16.04.6-base-armhf.tar.gz。
axelhttp://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04.6-base-armhf.tar.gz
解压:
mkdirtempsudotar-xpfubuntu-base-16.04.6-base-armhf.tar.gz-Ctemp
二、修改根文件系统
1. 准备工作
(1)准备网络:
sudocp-b/etc/resolv.conftemp/etc/resolv.conf
(2)准备 qemu
sudocp/usr/bin/qemu-arm-statictemp/usr/bin/
(3)换源
这里需要更换为 ubuntu ARM 源 Ubuntu Ports(中国科学技术大学源[2])。
sudovimtemp/etc/apt/source.list
在 vim 的命令模式完成替换:
:%s/ports.ubuntu.com/mirrors.ustc.edu.cn
保存退出后,添加一个 apt 配置文件:
sudovimtemp/etc/apt/apt.conf.d/99self
在其中编写如下内容:
Acquire::Pipeline-Depth"0";
2. 挂载根文件系统到主机
切换根文件系统:
sudochroottemp
3. 更新及安装
(1)更新
aptupdateapt-getupdate
(2)安装一些必备的软件包
apt-getinstallsudoapt-getinstallvim
开启 ssh 服务:
apt-getinstallopenssh-server
net-tools 提供了 ifconfig 命令等网络工具:
apt-getinstallnet-tools
kmod 提供了一组操作 Linuxkernel module 的工具,常用的 insmod,modprobe 等命令本质上调用的都是 kmod 命令:
apt-getinstallkmod
ethtool 用于查看和修改网络设备(以太网)的驱动参数和硬件设置,可以根据需要更改以太网卡的参数,包括自动协商、速度、双工和局域网唤醒等参数。
apt-getinstallethtool
ubuntu 本身支持 linux 的网络底层设置命令:ifconfig,route,ip 等命令,但为了让网络设置更加简单,Debian 提供了一个标准的高级网络设置工具,包含 ifup 和 ifdown 程序和 /etc/network/interfaces 文件。
apt-getinstallifupdown
htop 是 top 的升级版,允许用户监视系统上运行的进程及其完整的命令行。
apt-getinstallhtop
iputils 软件包是 Linux 环境下一些实用的网络工具的集合,包括 ping、tftpd 等。
apt-getinstalliputils-ping
4. 添加用户及设置密码
添加用户:
useradd-s"/bin/bash"-m-Gadm,sudomculover666
设置密码:
passwdmculover666
给 root 用户设置密码:
passwd
5. 设置串口终端
ln-s/lib/systemd/system/getty@.service/etc/systemd/system/getty.target.wants/getty@ttymxc0.service
6. 退出
根文件系统修改完成,退出。
exit
三、制作根文件系统
(1)查看根文件系统的大小
sudodu-h-d0temp/
(2)生成压缩包
cdtempsudotar-jcfrootfs.tar.bz2*
压缩完的包 110M:将该包烧录到 imx6ull 开发板的 eMMC 中,烧录方法参考:i.MX6ULL 系统移植 | 使用 NXPMfgTool 烧写系统到 eMMC[3]。
烧录完成后,ubuntu 系统启动如下:
四、ssh 登录
在.bashrc中将 shell 颜色打开:
force_color_prompt=yes
设置网卡 ip:
sudoifconfigeth0192.168.1.102
修改主机名:
sudohostnameimx6ull
ssh 远程登录:
审核编辑:汤梓红