下一篇路径:https://www.cnblogs.com/jizizh/p/10499448.html

环境:

HelperA64开发板

Linux3.10内核

时间:2019.02.14

目标:定制ubuntu-core rootfs镜像

参考这篇文章:http://dev.t-firefly.com/thread-10963-1-1.html

1、下载最新的ubuntu-core,然后在下面目录解压。

在PC上模拟运行根文件系统。需要安装一个工具:

sudo apt-get install qemu-user-static

然后输入命令:

sudo cp /usr/bin/qemu-aarch64-static rootfs/usr/bin/

再下载ch-mount.sh脚本,重命名为mount.sh,

然后就可以就可以运行虚拟根文件系统了。

退出虚拟根文件系统的时候我们先敲exit,然后输入./mount.sh -u rootfs。

注:如果退出虚拟根文件系统没有执行./mount.sh -u rootfs而重复执行执行./mount.sh -m rootfs。将会导致系统出故障,只能重新启动电脑,然后才能进入虚拟根文件系统。

2、安装软件之前需要拷贝PC主机端网络配置到虚拟根文件系统中。然后进入虚拟根文件系统后可以安装软件了。命令如下:

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

下载最基本的软件。

apt update

apt install wget udev kmod iproute2 net-tools systemd vim

设置好root权限的密码命令为:passwd root

然后执行下图代码,每一次退出虚拟根文件系统都要执行chown

3、原有的设备文件不可写,所以编译打包会出错,打包不了,然后删除。

然后将extra目录中init重新mount到/sbin/init中:

4、最后回到lichee目录下执行下列命令行编译打包为img镜像文件。

./build.sh && ./build.sh pack

注:这里是HelperA64开发板打包方法,参考HelperA64手册中制定ubuntu-mate一样,将内存扩大到4G。也可以使用上述参考链接文章中dd工具创建镜像文件。

做好上面步骤后,烧录好img镜像文件后,通过串口可以看到登陆界面了。

5、第一次运行要执行一下:depmod –a,然后重启,就会加载相应的模块。

接下来就是替换源:以root身份打开 /etc/apt/sources.list,将 http://ports.ubuntu.com/ 全部替换为中科大的源 http://mirrors.ustc.edu.cn/ubuntu-ports/。Vi进入sources.list时,命令行模式下输入下面命令一键替换源:

:%s/ ports.ubuntu.com /mirrors.ustc.edu.cn/g

然后设置网络网关,打开网络,vi进入修改nameserver 为192.168.0.1,

ping一下,检查是否通畅。

然后输入 sudo apt-get update和 sudo apt-get upgrade 测试

注:要设置一下正确的系统时间date -s "2019-02-14 14:15:00"  ,否则有可能不能执行apt update。

6、最后安装必要的工具:

apt-get install language-pack-en-base sudo ssh ethtool \

wireless-tools ifupdown network-manager iputils-ping rsyslog \

bash-completion htop lrzsz --no-install-recommends

7、如果你在第二步时已经安装了第七步程序。这里你就可以输入下面命令

重启之后再lsmod查看一下模块:

最后输入dhclient,这时自动打开网络,不用设置,ping一下检查网络是否通畅。然后再将源替换掉。

8、在串口中安装lightdm或者按ctrl+alt+F1-6在开发板中安装:

apt-get install lightdm

注:如果在虚拟机装了lightdm和桌面(在第9步中安装),烧录到开发板中就会一直闪屏,登陆不了操作系统,这时在串口或者按下ctrl+alt+F1-6进入终端root权限输入以下命令修改权限:

sudo chown lightdm:lightdm -R /var/lib/lightdm

sudo chown avahi-autoipd:avahi-autoipd -R /var/lib/avahi-autoipd

sudo chown colord:colord /var/lib/colord/

然后lightdm程序装完后,给系统增加一个叫ubuntu的管理员帐号:

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

修改ubuntu用户密码,回车后按提示输入两次密码:

passwd ubuntu

注:在root用户下给szbaijie增加sudo用户权限

vi 进入/etc/sudoers/中在root一行下面加入

szbaijie    ALL=(ALL:ALL) ALL

并且在输入命令: chmod +s /usr/bin/sudo

给用户加入系统属性,用户可以使用sudo了。

9、最后就是安装桌面环境,我自己装的是Xfce。安装完后直接登陆。

sudo apt-get install --no-install-recommends xubuntu-desktop -y

安装桌面参考一下链接:

https://blog.csdn.net/dream361/article/details/64905099

注:当开发板root登陆操作系统界面时,会出现警告,这时候输入下面命

vi ~/.profile

进入profile后将mesg n 替换为 tty -s && mesg n

参考这篇:https://www.cnblogs.com/fanqisoft/p/8671166.html

helpera64开发板下制作ubuntu rootfs镜像的更多相关文章

  1. helpera64开发板下制作ubuntu rootfs镜像(二)

    上一篇路径:https://www.cnblogs.com/jizizh/p/10380513.html Helpera64开发板ubuntu剩于工作: 1.背光调节 答:/sys/class/bac ...

  2. Windows环境下制作Ubuntu的U盘启动工具

    Windows用户想要尝试一下Ubuntu或其他Linux系统?最简单的方法就是使用VMware Workstation,只是虚拟机会真实占用内存,如果你的电脑内存8G及以上可以试试.内存偏小,或者觉 ...

  3. 荣品RP4412开发板烧写Ubuntu系统应注意SD卡内存大些

    问:RP4412开发板用SD卡烧写光盘中的fastboot失败,现在如何补救呢? 答:INAND格式化, 利用usb来升级啊, 也有文档,看升级文档. 问: 这个是怎么回事? 答:你是升级什么系统? ...

  4. win7下制作ubuntu系统安装启动盘和U盘安装ubuntu全过程

    在我搞坏了两个系统之后,一切都得从头开始了,这回好了,电脑就是一台裸机了.没办法,重新下win7吧.这个要先做一个win7的启动盘,然后再安装,只能说我技术不行,没能把win7搞定.让大神给装的win ...

  5. 迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程

    1 烧写:   烧写和4412默认镜像的烧写类似,使用fastboot. 先更新uboot,用4412默认uboot更新支持设备树的uboot 用支持设备树的uboot烧写. 进入支持设备树的uboo ...

  6. 迅为八核cortex a53开发板android/linux/Ubuntu系统

    详情请点击了解:http://www.topeetobard.com 店铺:https://arm-board.taobao.com 核心板: 提供1G和2G内存版本,全机器焊接,杜绝手工,批量无忧. ...

  7. [原]ubuntu下制作ubuntu源

    ubuntu下可以用debmirror来下载ubuntu的所有源: 配置ubuntu12.04_mirror.sh ########################################## ...

  8. Docker下制作一个容器镜像

    操作过程描述: (1)先基于centos的镜像启动一个centos容器 (2)在这个容器中安装nginx (3)然后把这个已经安装了nginx的容器制作成一个docker的镜像 操作:docker c ...

  9. 开发板 视频04_05 ubuntu的联网及基本设置

    4g内存 如果电脑有两g,只能给1.5g 处理器可以根据实际选 usb3.0 或者 2.0 联网模式:: 桥接模式 启动式连接,,,,网是不固定的 仅主机模式,主机和虚拟机在一个网络 第三种联网,自定 ...

随机推荐

  1. onInterceptTouchEvent与onTouchEvent默认返回值

    其中Layout里的onInterceptTouchEvent默认返回值是false,这样touch事件会传递到View控件,Layout里的onTouch默认返回值是false, View里的onT ...

  2. CSS 引入方式 选择器

    ---恢复内容开始--- CSS是Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数据的表现,可以使网页的表现与数据内容分离. 步骤: A.找到标签 B.操作标签 ...

  3. 【眼见为实】自己动手实践理解数据库READ UNCOMMITED && SERIALIZABLE

    目录 准备工作 ①准备测试表和测试数据 ②关闭数据库事务自动提交 ③设置InnoDB存储引擎隔离级别 [READ UNCOMMITTED] [READ UNCOMMITTED]能解决的问题 [READ ...

  4. 11.Spring——JDBC框架

    1.DBC 框架概述 2.Spring JDBC 示例 3.Spring 中 SQL 的存储过程 1.DBC 框架概述 在使用普通的 JDBC 数据库时,就会很麻烦的写不必要的代码来处理异常,打开和关 ...

  5. 机器学习之step by step实战及知识积累笔记

    数据工作者工作时间划分 据crowdflower数据科学研究报告,数据科学工作者的时间分配主要在以下几个领域: 首先是数据收集要占20%左右的时间和精力,接着就是数据清洗和再组织需要占用60%的时间. ...

  6. MySQL · 数据恢复 · undrop-for-innodb

    Ref:https://www.aliyun.com/jiaocheng/1109809.html  摘要: 简介 undrop-for-innodb 是针对 innodb 的一套数据恢复工具,可以从 ...

  7. ext button 属性

    var buttonName = new Ext.Button({               id:"buttonName",               text:" ...

  8. 写markdown用于Github上readme.md文件

    Markdown 文档地址 http://pan.baidu.com/s/1o6nu9To Markdown还有一系列衍生版本,用于扩展Markdown的功能(如表格.脚注.内嵌HTML等等),这些功 ...

  9. 使用AKLocationManager定位

    使用AKLocationManager定位 https://github.com/ideaismobile/AKLocationManager 以下是使用情况: 是不是很简单呢,我们可以将它的步骤进一 ...

  10. [C++] 用Xcode来写C++程序[4] 函数

    用Xcode来写C++程序[4] 函数 此节包括引用函数,内联函数,防止修改函数入参,函数自身带有默认值. 引用函数:防止复制对象,减少系统开销 内联函数:编译的时候根据具体情形将代码嵌入进去,成不成 ...