主机安装需要的程序和生成最小 bootstrap rootfs
安装需要的程序
sudo apt install debootstrap qemu qemu-user-static binfmt-support dpkg-cross --no-install-recommends
debootstrap --arch=amd64 --foreign jammy ./amd64-temp-rootfs http://mirrors.tuna.tsinghua.edu.cn/ubuntu
chroot amd64-temp-rootfs /bin/bash
/debootstrap/debootstrap --second-stage
cat >/etc/apt/sources.list <<EOF
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
EOF
安装 essential packages
apt-get update
apt-get install --no-install-recommends -y util-linux haveged openssh-server systemd kmod initramfs-tools conntrack \
ebtables ethtool iproute2 iptables mount socat ifupdown iputils-ping vim dhcpcd5 neofetch sudo chrony
cat >>/etc/network/interfaces <<EOF
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
EOF
cat >/etc/resolv.conf <<EOF
nameserver 114.114.114.114
nameserver 8.8.8.8
EOF
passwd root
sed -i "s/#PermitRootLogin.*/PermitRootLogin yes/g" /etc/ssh/sshd_config
debootstrap stable /mnt/debian
debootstrap --second-stage
第一条命令只完成第一阶段,获取根文件系统。
第二条命令使用 --second-stage 触发第二阶段,完成各种配置和初始化。
Distrobuilder 在构建过程中也会自动执行这两个阶段。
所以 --second-stage 参数对于确保 debootstrap 执行完整的镜像构建过程是非常必要的。
tar -cJSf ubuntu22.04_amd64.tar.xz ./amd64-temp-rootfs
lxc 构建镜像,但是不能直接导入pve启动,手动可以的,有需要再研究吧,最近要找工作
没有配置ip情况下是可以导入启动的
mkdir -pv /usr/share/debootstrap/scripts/bullseye
$HOME/go/bin/distrobuilder build-lxc debian.yaml -o image.release=bullseye -o image.architecture=amd64 -o image.variant=default
lxc-create -n myContainerImage -t local -- --metadata meta.tar.xz --fstree rootfs.tar.xz
lxc-start -n myContainerImage
lxc-attach myContainerImage
标签:amd64,--,lxc,etc,构建,debootstrap,镜像,rootfs
From: https://blog.51cto.com/first01/8069671