ITPub博客

ubuntu移植到嵌入式平台

原创 嵌入式/内核开发 作者:ykl0429 时间:2018-06-08 17:59:50 0 删除 编辑

Ubuntu一个以桌面应用为主的开源GNU/Linux操作系统。

Ubuntu 用在PCIntel框架,我们比较熟悉,。Ubuntu ARM平台下运行,可能比较陌生。以下我们介绍Ubuntu 14.04 DLT-RK3288 ARM平台上。

使用到的硬件平台:DLT-RK3288

补充说明:

虽然DLT-RK3288是基于432Bits Cortex-A17架构的CPU,该方法构建的时候采用了向下兼容的32BitsARMV7架构。因此,该方法适用于Cortex-A7/A9/A15/A17/A12架构的ARM处理器。

 

1、下载、解压ubuntu core

ubuntu core是最小Ubuntu核心。在此核心基础上制作出来的Ubuntu镜像只有70M,非常适合嵌入式系统。

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模拟器非常强大,主要作用是:在PCUbuntu上运行待移植的ubuntu

在模拟器上,运行的ubuntu系统,可以根据需要打包不同组件到目标ubuntu

 

3、配置Ubuntu

1)拷贝qemu-arm-static ubuntu coreusr/bin/

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

 

2)拷贝主机的resolv.conf ubuntu coreetc/

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               ifconfignetstatroutearp

apt-get install iputils-ping            pingping6       

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                ifupifdown等工具

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

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2018-04-16

  • 博文量
    1
  • 访问量
    190