debootstrap构建自己的debian系统
debootstrap构建自己的debian系统1. debootstrap工具简介2. 最小化安装过程2.1 分区2.2 debootstrap工具进行安装系统2.3 基本系统配置3.后续工作参考1. debootstrap工具简介2. 最小化安装过程2.1 分区然后加载系统分区sudo swapon /dev/sdaXsudo mount /dev/sdY /mntsudo mkdir -p
debootstrap构建自己的debian系统
1. debootstrap工具简介
debootstrap是debian/ubuntu下的一个工具,用来构建一套基本的系统(根文件系统)。生成的目录符合Linux文件系统标准(FHS),即包含了/boot、/etc、/bin、/usr等等目录,但它比发行版本的Linux体积小很多,当然功能也没那么强大,因此,只能说是“基本的系统”。使用对应的命令格式为
sudo debootstrap --arch [平台] [发行版本代号] [目录]
fedora下(centos亦可用)有类似功能的工具:febootstrap。观察这两个工具名称,可以看到debootstrap使用debian前缀“de”,而febootstrap使用fedora前缀“fe”,bootstrap含义为“引导”,并如果做过LFS的话,对它了解会比较多,而在编译gcc编译器时也有涉及到这个概念。不过debootstrap或febootstrap似乎没有表达出“引导”的意思。arhlinux中的pacstrap的功能也类似,构建基本的archLinux系的系统。
当前debootstrap支持的发行版本可以在/usr/share/debootstrap/scripts查看
2. 最小化安装过程
2.1 分区
然后加载系统分区
sudo swapon /dev/sdaX
sudo mount /dev/sdY /mnt
sudo mkdir -p /mnt/boot/efi
sudo mount /dev/sdZ /mnt/boot/efi
2.2 debootstrap工具进行安装系统
debootstrap 执行后,它会自己从归档文件库直接下载所需的文件。可以把下面的命令行例子中的http.us.debian.org/debian替换成任何一个 Debian系的任何归档文件库的镜像。选择镜像时,可以根据您的网络情况选择较近的一个。镜像的列表在http://www.debian.org/misc/README.mirrors。如果已经把一张sarge版本的Debian GNU/Linux CD 挂载在了 /cdrom 那么也可以把 http URL 替换成 file URL,即:file:/cdrom/debian/ 。可以将下列架构中的一个替换 ARCH 于 debootstrap 命令中: amd64,alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s3Array0,或 sparc等等。
笔者这里选择了ubuntu20.04的amd64架构的系统。所以运行以下的命令
sudo debootstrap --arch=amd64 focal /mnt https://mirrors.tuna.tsinghua.edu.cn/ubuntu
这条命令为系统配置了最基本的操作系统文件目录,这也就是最小化安装的基础。
在change ROOT之前需要加载一些基本的设备信息:
sudo mount -t proc /proc /mnt/proc
sudo mount --rbind /dev /mnt/dev
sudo mount --rbind /sys /mnt/sys
将基本的网络配置复制到相应的目录中
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf
然后换根
sudo chroot /mnt /bin/bash
首先更新一下源,再安装基本的软件
apt update
apt install nano
2.3 基本系统配置
配置网络
之前已经设置好了resolv.conf文件编辑文件/etc/hostname用以设置网络的主机名。
时区配置以及添加用户
可以使用以下的命令配置时区以及添加用户,并修改根密码以及用户密码
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
useradd -m -G users,audio,lp,cdrom -s /bin/bash <username>
passwd <username>
passwd root
locales 的设置
要配置的locale设定,以便使用英语以外的其它语言,就需要安装提供locales支持的软件包,然后配置
apt-get install locales
dpkg-reconfigure locales
内核文件的安装
安装已经打包好的内核文件
apt-get install linux-generic
grub2启动管理器的安装
安装grub2启动管理器,根据电脑的配置选择UEFI启动方式还是BISO-MBR启动方式。可以选择search命令查找grub的安装包
apt search grub
笔者使用的是AMD64 UEFI启动方式,所以安装
apt install grub-efi-amd64
grub-install --target=x86_64-efi --efi-directory=/boot/efi --recheck
grub-mkconfig -o /boot/grub/grub.cfg
重新启动系统就可以进入到系统了。
3.后续工作
目前没有解决的问题是网络连接问题,并没有找到较好的方法解决网络问题。
参考
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)