CPU:RK3288

1、通过 ubuntu cdimage 下载 ubuntu16.04 内核,以下两种方式都可以

在 windows 系统网页中下载

http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release

版本:ubuntu-base-16.04-core-armhf.tar.gz

在 linux 系统中通过指令下载

$ wget http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz

2、解压

$ mkdir linux-rootfs
$ sudo tar -xpf ubuntu-base-16.04-core-armhf.tar.gz -C linux-rootfs

3、在电脑的 ubuntu 系统中安装模拟器并拷贝到根文件系统

$ sudo apt-get install qemu-user-static
$ sudo cp /usr/bin/qemu-arm-static linux-rootfs/usr/bin/

4、拷贝本地dns文件到根文件系统

$ sudo cp -b /etc/resolv.conf  linux-rootfs/etc/resolv.conf

5、打开根文件系统中的 linux-rootfs/etc/apt/sources.list 修改安装包源

$ sudo vim linux-rootfs/etc/apt/sources.list

将屏蔽的源全部打开

6、下载挂载脚本,解压并赋可执行权限,如果已经具有可执行权限,就无需在赋权限

链接:https://pan.baidu.com/s/1R3BpXwOdDd3ws6qCP8nz8w
提取码:ct1i

$ sudo chmod +x ch-mount.sh

7、挂载根文件系统

$ ./ch-mount.sh -m linux-rootfs

8、更新根文件系统

# apt-get update
# apt-get upgrade

更新时可能出现下面的问题:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US:",
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

解决办法参考:https://www.cnblogs.com/lialong1st/p/11350951.html

Current default time zone: 'Etc/UTC'
Local time is now: Wed Aug :: UTC .
Universal Time is now: Wed Aug :: UTC .
Run 'dpkg-reconfigure tzdata' if you wish to change it.

这个其实不是错误,如果需要,可以根据提示指令 dpkg-reconfigure tzdata 修改时区,根据每一步提示选择即可。

9、安装自己需要的工具包,安装过程可能报错,参考:https://www.cnblogs.com/lialong1st/p/11352979.html

# apt-get install vim git openssh-server sudo net-tools iputils-ping wireless-tools udev
# apt-get install htop rsyslog network-manager ifupdown ethtool
# apt-get install florence  // 虚拟键盘,无触摸屏的建议安装

安装登录界面、显示界面,这一步特别耗时间

# apt-get install ubuntu-session xubuntu-desktop

10、选择启动界面

# update-alternatives --config x-session-manager

11、配置默认登录界面

# dpkg-reconfigure lightdm

12、配置网络

# echo auto eth0 > etc/network/interfaces.d/eth0
# echo iface eth0 inet dhcp >> etc/network/interfaces.d/eth0
# echo auto wlan0 > etc/network/interfaces.d/wlan0
# echo allow-hotplug wlan0 > etc/network/interfaces.d/wlan0
# echo iface wlan0 inet dhcp >> etc/network/interfaces.d/wlan0

13、修改文件系统主机名称

# vim /ect/hostname

14、添加一个用户 aaron

# useradd -s '/bin/bash' -m -G adm,sudo aaron

15、给用户 aaron 设置密码

# passwd aaron

16、给 root 设置密码

# passwd root

17、退出脚本

# exit

18、退出挂载根文件系统

$ ./ch-mount.sh -u linux-rootfs

19、使用 dd 指令创建镜像文件

$ dd if=/dev/zero of=linux-rootfs.img bs=1M count=

20、格式化镜像文件,并加入卷标 linuxroot

$ sudo mkfs.ext4 -F -L linuxroot linux-rootfs.img

21、挂载镜像文件,并拷贝根文件系统到镜像文件

$ mkdir mnt
$ sudo mount linux-rootfs.img mnt/
$ sudo cp -rfp linux-rootfs/* mnt/

22、退出挂载文件,

$ sudo umount mnt

23、检查镜像文件

$ sudo e2fsck -p -f linux-rootfs.img

24、瘦身,减小镜像文件大小

$ sudo resize2fs -M linux-rootfs.img
$ sudo du -sh linux-rootfs.img

[Ubuntu] 移植Ubuntu16.04根文件系统到嵌入式平台的更多相关文章

  1. ubuntu系统---ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14

    ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14 @https://www.liaoxu ...

  2. Ubuntu系统---Ubuntu16.04进不了界面(登录界面循环,密码正确)(一体化安装(CUDA +NVIDIA驱动)+ cuDNN)

                                                 Ubuntu16.04进不了界面(登录界面循环,密码正确)(一体化安装(CUDA +NVIDIA驱动)+ cu ...

  3. [原创]在HP DL380 G7服务器上部署基于Ubuntu Server 16.04 和 VirtualBox的云平台

    对于一线开发人员来说,一提到虚拟机平台,往往会让人联想到在价格昂贵的服务器上部署VMware vSphere之类软件来实现. 笔者作为一个资深码农,也是一直梦寐着在自己家中打造一个真正的家庭私有云,秒 ...

  4. linux 内核移植和根文件系统的制作【转载】

    原文地址:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076214.html 1.1 Linux内核基础知识 在动手进行Linux内核移植之 ...

  5. linux 内核移植和根文件系统的制作

    1.1 Linux内核基础知识 在动手进行Linux内核移植之前,非常有必要对Linux内核进行一定的了解,下面从Linux内核的版本和分类说起. 1.1.1  Linux版本 Linux内核的版本号 ...

  6. Linux根文件系统的制作

    转载:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076655.html 1. 根文件系统 文件系统是包括在一个磁盘(包括光盘.软盘.闪盘及 ...

  7. tiny4412 busybox制作根文件系统rootfs nfs 挂载 ubuntu 14.04

    http://blog.csdn.net/liudijiang/article/details/50555429(转) 首先得要有制作好的uboot和linux内核镜像zImage,先烧录到sd卡里, ...

  8. uboot通过NFS挂载ubuntu根文件系统

    由于工作需要,在做app开发或系统移植时,经常需要编辑系统后重新烧写异常麻烦.通过NFS挂载根文件系统就不需要每次更改系统后再进行编译和烧写,等开发完成后一次烧写即可完成. 一.准备材料 可以根据自己 ...

  9. 嵌入式linux加载引导内核和根文件系统的方法

    总体来说,嵌入式Linux内核和根文件的引导与PC机差不多.嵌入式linux内核和根文件系统可以存放在各种可能的存储设备中,一般情况下我 们将内核和根文件系统直接烧入到Flash中(包括NOR和NAN ...

随机推荐

  1. DBShop后台RCE之曲线救国

    本文最早发布在朋友的公众号 黑客信徒 中,文章是自己写的 不存在抄袭  特此申明 --------------------- 前言 DBShop是一款基于ZendFramework2框架的电子商务系统 ...

  2. ssh免密登陆(简单快捷)

    介绍免密登陆配合下边这张图可以了解下过程: 假设现在A要通过免密登陆B 在A上的操作: 1.终端输入ssh-keygen (后边可以指定加密算法:-t 算法,如果不指定就是默认的rsa) 原理: 首先 ...

  3. iOS10推送必看UNNotificationAttachment以及UNTimeIntervalNotificationTrigger

    虽然这篇文章比较长,也不好理解,但是还是建议大家收藏,以后用到的时候,可以看看,有耐心的还是读一读. 这篇文章开始,我会跟大家好好讲讲,苹果新发布的iOS10的所有通知类. 一.创建本地通知事例详解: ...

  4. 高性能的js第三方库——lodash、 Underscore、async、md5及moment

    背景:为了实现某些功能,如:数据排序.分组.筛选.深拷贝等,自己写的函数或网上搜索处理的转换函数质量无法保证,这时直接使用成熟的js第三方库是首选. *注:“framework(框架)”,“libra ...

  5. 【leetcode】496. Next Greater Element I

    原题 You are given two arrays (without duplicates) nums1 and nums2 where nums1's elements are subset o ...

  6. SQL SERVER-端口Port

    Quick cheat sheet for port numbers used by SQL Server services or services that SQL Server may depen ...

  7. IP地址的总结

    目前所使用的是IPV4,它是一个32位的整数,一般表示为 W.X.Y.Z格式,分为2部分,网络号和主机号,正是有了这种分层的结构,才支持了组播了淡泊,他是internet最终地址. 举例:192.16 ...

  8. Eclipse安装zookeeper监控插件

    1.在 Eclipse 菜单打开Help -> Install New Software…2.添加 url http://www.massedynamic.org/eclipse/updates ...

  9. Android中sp和px之间关系探究

    记得当时在刚接触Android时都在说不要用px,要用sp,所以在实际工作当中当然就按照这个规则,所以都要将px换算成sp,而我在实际工作中的换算规则是dp=px * 1.5,而且用这种规则到现在基本 ...

  10. 【python】使用openpyxl解析json并写入excel(xlsx)

    目标: 将json文本解析并存储到excel中 使用python包 openpyx import simplejsonmport codecsimport openpyxl import os # d ...