[Ubuntu] 移植Ubuntu16.04根文件系统到嵌入式平台

 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 14 02:57:01 UTC 2019.
Universal Time is now:  Wed Aug 14 02:57:01 UTC 2019.
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=4096

 

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

 

转载于:https://www.cnblogs.com/lialong1st/p/11351095.html

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值