admin 管理员组文章数量: 887021
简要描述
- 基于learning armbian step(4) 的总结,我们来实践一下,接下来的会把整个构建的log都贴出来:
操作日记
- 安装相关的工具
vmuser@vmuser-virtual-machine:~/qemu-arm$ sudo apt-get install qemu-user-static
[sudo] password for vmuser:
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following additional packages will be installed:
binfmt-support
The following NEW packages will be installed:
binfmt-support qemu-user-static
0 upgraded, 2 newly installed, 0 to remove and 325 not upgraded.
Need to get 7,753 kB of archives.
After this operation, 86.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://mirrors.aliyun/ubuntu xenial/main amd64 binfmt-support amd64 2.1.6-1 [50.7 kB]
Get:2 http://mirrors.aliyun/ubuntu xenial-updates/universe amd64 qemu-user-static amd64 1:2.5+dfsg-5ubuntu10.34 [7,702 kB]
Fetched 7,753 kB in 8s (910 kB/s)
Selecting previously unselected package binfmt-support.
(Reading database … 276761 files and directories currently installed.)
Preparing to unpack …/binfmt-support_2.1.6-1_amd64.deb …
Unpacking binfmt-support (2.1.6-1) …
Selecting previously unselected package qemu-user-static.
Preparing to unpack …/qemu-user-static_1%3a2.5+dfsg-5ubuntu10.34_amd64.deb …
Unpacking qemu-user-static (1:2.5+dfsg-5ubuntu10.34) …
Processing triggers for systemd (229-4ubuntu21.15) …
Processing triggers for ureadahead (0.100.0-19) …
Processing triggers for man-db (2.7.5-1) …
Setting up binfmt-support (2.1.6-1) …
Setting up qemu-user-static (1:2.5+dfsg-5ubuntu10.34) …
Processing triggers for systemd (229-4ubuntu21.15) …
Processing triggers for ureadahead (0.100.0-19) …
vmuser@vmuser-virtual-machine:~/qemu-arm$ sudo apt install debootstrap
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following NEW packages will be installed:
debootstrap
0 upgraded, 1 newly installed, 0 to remove and 325 not upgraded.
Need to get 37.2 kB of archives.
After this operation, 262 kB of additional disk space will be used.
Get:1 http://mirrors.aliyun/ubuntu xenial-updates/main amd64 debootstrap all 1.0.78+nmu1ubuntu1.6 [37.2 kB]
Fetched 37.2 kB in 0s (357 kB/s)
Selecting previously unselected package debootstrap.
(Reading database … 276841 files and directories currently installed.)
Preparing to unpack …/debootstrap_1.0.78+nmu1ubuntu1.6_all.deb …
Unpacking debootstrap (1.0.78+nmu1ubuntu1.6) …
Processing triggers for man-db (2.7.5-1) …
Setting up debootstrap (1.0.78+nmu1ubuntu1.6) …
We can use qemu-debootstrap to building ubuntu rootfs .
vmuser@vmuser-virtual-machine:~/qemu-arm$ sudo qemu-debootstrap --verbose --arch=arm64 --variant=buildd xenial ubuntu_arm64_xenial http://mirrors.ustc.edu/ubuntu-ports
[sudo] password for vmuser:
Ok , we get it.
I: Configuring gcc-5…
I: Configuring libstdc+±5-dev:arm64…
I: Configuring gcc…
I: Configuring g+±5…
I: Configuring g++…
I: Configuring build-essential…
I: Configuring libc-bin…
I: Base system installed successfully.
Now we can get the ubuntu rootfs capacity
vmuser@vmuser-virtual-machine:~/qemu-arm$ du -h ubuntu_arm64_xenial/
1.2M ubuntu_arm64_xenial/var/cache/debconf
12K ubuntu_arm64_xenial/var/cache/ldconfig
4.0K ubuntu_arm64_xenial/var/cache/apt/archives/partial
54M ubuntu_arm64_xenial/var/cache/apt/archives
54M ubuntu_arm64_xenial/var/cache/apt
55M ubuntu_arm64_xenial/var/cache
4.0K ubuntu_arm64_xenial/var/tmp
68M ubuntu_arm64_xenial/var
318M ubuntu_arm64_xenial/
vmuser@vmuser-virtual-machine:~/qemu-arm$ debootstrap --help
Usage: debootstrap [OPTION]… [ [
Bootstrap a Debian base system into a target directory.
--help display this help and exit
--version display version information and exit
--verbose don't turn off the output of wget
--download-only download packages, but don't perform installation
--print-debs print the packages to be installed, and exit
--arch=A set the architecture to install (use if no dpkg)
[ --arch=powerpc ]
--include=A,B,C adds specified names to the list of base packages
--exclude=A,B,C removes specified packages from the list
--components=A,B,C use packages from the listed components of the
archive
--variant=X use variant X of the bootstrap scripts
(currently supported variants: buildd, fakechroot,
scratchbox, minbase)
minbase: 只包含必要的包和apt;
buildd: 包含编译工具包
fakechroot: 包含不用root权限的包
scratchbox: 包含scratchbox(交叉编译工具链)相关包
--keyring=K check Release files against keyring K
--no-check-gpg avoid checking Release file signatures
--force-check-gpg force checking Release file signatures
(also disables automatic fallback to HTTPS in case
of a missing keyring), aborting otherwise
--no-resolve-deps don't try to resolve dependencies automatically
--unpack-tarball=T acquire .debs from a tarball instead of http
--make-tarball=T download .debs and create a tarball (tgz format)
--second-stage-target=DIR
Run second stage in a subdirectory instead of root
(can be used to create a foreign chroot)
(requires --second-stage)
--extractor=TYPE override automatic .deb extractor selection
(supported: dpkg-deb ar)
--debian-installer used for internal purposes by debian-installer
--private-key=file read the private key from file
--certificate=file use the client certificate stored in file (PEM)
--no-check-certificate do not check certificate against certificate authorities
Verify arm64 ubuntu rootfs:
-
cp /usr/bin/qemu-aarch64-static ubuntu_arm64_xenial/usr/bin/
-
mount proc ubuntu_arm64_xenial/proc -t proc
-
mount sysfs ubuntu_arm64_xenial/sys -t sysfs
-
cp /etc/hosts ubuntu_arm64_xenial/etc/hosts
-
cp /etc/resolv.conf ubuntu_arm64_xenial/etc/resolv.conf
-
chroot ubuntu_arm64_xenial/
root@vmuser-virtual-machine:/# ls ---- 》we got it, running arm rootfs in X86 host
bin boot dev etc home lib media mnt opt proc root run sbin srv sys tmp usr var
root@vmuser-virtual-machine:/# ifconfig
bash: ifconfig: command not found
root@vmuser-virtual-machine:/# apt install net-tools
Reading package lists… Done
Building dependency tree… Done
The following NEW packages will be installed:
net-tools
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 165 kB of archives.
After this operation, 688 kB of additional disk space will be used.
Get:1 http://ports.ubuntu/ubuntu-ports xenial/main arm64 net-tools arm64 1.60-26ubuntu1 [165 kB]
Fetched 165 kB in 2s (79.9 kB/s)
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = “en_US”,
LC_ALL = (unset),
LC_PAPER = “zh_CN.UTF-8”,
LC_NUMERIC = “zh_CN.UTF-8”,
LC_IDENTIFICATION = “zh_CN.UTF-8”,
LC_MEASUREMENT = “zh_CN.UTF-8”,
LC_NAME = “zh_CN.UTF-8”,
LC_TELEPHONE = “zh_CN.UTF-8”,
LC_ADDRESS = “zh_CN.UTF-8”,
LC_MONETARY = “zh_CN.UTF-8”,
LC_TIME = “zh_CN.UTF-8”,
LANG = “en_US.UTF-8”
are supported and installed on your system.
perl: warning: Falling back to the standard locale (“C”).
debconf: delaying package configuration, since apt-utils is not installed
E: Can not write log (Is /dev/pts mounted?) - posix_openpt (2: No such file or directory)
Selecting previously unselected package net-tools.
(Reading database … 11949 files and directories currently installed.)
Preparing to unpack …/net-tools_1.60-26ubuntu1_arm64.deb …
Unpacking net-tools (1.60-26ubuntu1) …
Setting up net-tools (1.60-26ubuntu1) …
附加如下为构建桌面系统对应的源:
deb http://ports.ubuntu/ubuntu-ports/ xenial main restricted
deb-src http://ports.ubuntu/ubuntu-ports/ xenial main restricted
deb http://ports.ubuntu/ubuntu-ports/ xenial-updates main restricted
deb-src http://ports.ubuntu/ubuntu-ports/ xenial-updates main restricted
deb http://ports.ubuntu/ubuntu-ports/ xenial universe
deb-src http://ports.ubuntu/ubuntu-ports/ xenial universe
deb http://ports.ubuntu/ubuntu-ports/ xenial-updates universe
deb-src http://ports.ubuntu/ubuntu-ports/ xenial-updates universe
deb http://ports.ubuntu/ubuntu-ports/ xenial-backports main restricted
deb-src http://ports.ubuntu/ubuntu-ports/ xenial-backports main restricted
deb http://ports.ubuntu/ubuntu-ports/ xenial-security main restricted
deb-src http://ports.ubuntu/ubuntu-ports/ xenial-security main restricted
deb http://ports.ubuntu/ubuntu-ports/ xenial-security universe
deb-src http://ports.ubuntu/ubuntu-ports/ xenial-security universe
deb http://ports.ubuntu/ubuntu-ports/ xenial-security multiverse
deb-src http://ports.ubuntu/ubuntu-ports/ xenial-security multiverse
如下链接为ubuntu各版本的下载地址
http://cdimage.ubuntu/ubuntu-base/releases/
本文标签: Armbian learning steps rootfs ARM
版权声明:本文标题:learning armbian steps(5) ----- armbian 构建arm rootfs 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1725891861h888329.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论