运行make
即可获取到Ubuntu Core Minimal系统。
注意事项:
- 由于使用到了Host的设备节点,所以在使用make获取文件系统的时候,2-3次最好重启一下系统,否则会遇到/dev设备节点无法挂载等等各种不可预知的问题。
- 强烈建议使用虚拟机折腾,由于会涉及到本机的/dev目录下的操作,误操作可能导致本机出现各种不可预知的问题,血的教训
类似仓库:
- https://github.com/hypriot/os-rootfs
- drtyhlpr/rpi23-gen-image
这个仓库可以重点分析,这是树莓派Debian系统合成方法,经测试,系统需要用Ubuntu 16.04版本,否则其中的一些package是装不上的。
- Ubuntu 16.04(xenial)
- Debian wheezy
- Debian Stretch
- Debian for ARM
- Installing Ubuntu Rootfs on NXP i.MX6 boards
- ubuntu 下出现E: Sub-process /usr/bin/dpkg returned an error code
- Thread: The system has no more ptys.
- 6.2.2. Mounting and Populating /dev
- gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz
- Make: how to continue after a command fails?
- Can not write log, openpty() failed (/dev/pts not mounted?)
- Installing Ubuntu Rootfs on NXP i.MX6 boards
- Debian on the i.MX6 sabre sd platform in a few commands
在这里面加入需要预安装的packages
:
Trusty是14.04的代号,Xenial是16.04的代号,两者的init程序是不一样的:
- 参考文档:https://docs.ubuntu.com/core/en/
- Build a custom Ubuntu Core image: https://docs.ubuntu.com/core/en/guides/build-device/image-building
- Shell cmd:
sudo make sdimg
- 查看打包后的方法:
aplex@aplex:~/zengjf/UbuntuRootFS/images$ sudo losetup -f --show sdcard.img /dev/loop0 aplex@aplex:~/zengjf/UbuntuRootFS/images$ sudo kpartx -av /dev/loop0 add map loop0p1 (253:0): 0 32768 linear 7:0 16384 add map loop0p2 (253:1): 0 1399932 linear 7:0 49152 aplex@aplex:~/zengjf/UbuntuRootFS$ ls /dev/mapper/ control loop0p1 loop0p2 aplex@aplex:~/zengjf/UbuntuRootFS$ sudo mount /dev/mapper/loop0p2 /mnt aplex@aplex:~/zengjf/UbuntuRootFS$ ls /mnt bin boot dev etc home lib lost+found media mnt opt proc root run sbin srv sys tmp usr var aplex@aplex:~/zengjf/UbuntuRootFS$