查看: 1020|回复: 7

DLT-RK3288 ARM平台上移植Ubuntu文件系统

[复制链接]

47

主题

49

帖子

227

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
227
发表于 2017-12-29 15:45:32 | 显示全部楼层 |阅读模式
Ubuntu一个以桌面应用为主的开源GNU/Linux操作系统。
Ubuntu 用在PC的Intel框架,我们比较熟悉。Ubuntu 在ARM平台下运行,可能比较陌生。
以下我们介绍Ubuntu 14.04 到DLT-RK3288 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 http://ports.ubuntu.com/ubuntu-ports/ xenial main universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ 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















ch-mount.sh

43.71 KB, 阅读权限: 10, 下载次数: 9

回复

使用道具 举报

0

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2018-1-2 10:42:08 | 显示全部楼层
顶一下,支持一下
回复

使用道具 举报

0

主题

18

帖子

67

积分

注册会员

Rank: 2

积分
67
发表于 2018-5-8 11:57:31 | 显示全部楼层
Linux板块资料明显比android少多了,看来是主打android??
回复

使用道具 举报

0

主题

24

帖子

52

积分

注册会员

Rank: 2

积分
52
发表于 2018-5-12 08:07:30 | 显示全部楼层
感谢分享
回复

使用道具 举报

0

主题

22

帖子

65

积分

注册会员

Rank: 2

积分
65
发表于 2018-6-2 13:14:15 | 显示全部楼层
不错,不错,厉害了
回复

使用道具 举报

2

主题

26

帖子

69

积分

注册会员

Rank: 2

积分
69
发表于 2018-6-27 16:26:11 | 显示全部楼层
感谢分享
回复

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 6 天前 | 显示全部楼层
云盘里提供的 dlt-rk3288-ubuntu14.04-20180427.img 这个ubuntu img是如何制作的,能提供下具体步骤吗。
上面的说明里没有说到如何把uboot和kernel打包进去。
回复

使用道具 举报

11

主题

14

帖子

85

积分

注册会员

Rank: 2

积分
85
发表于 4 天前 | 显示全部楼层
Todd 发表于 2018-8-8 16:58
云盘里提供的 dlt-rk3288-ubuntu14.04-20180427.img 这个ubuntu img是如何制作的,能提供下具体步骤吗。
上 ...

Hi,linux-rootfs.img制作方法可以参考这篇文章http://www.daluotuo.net/forum.ph ... tid=1393&extra=
uboot和kernel使用update.img解压出的镜像,只需更换掉linux-rootfs.img即可
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表