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.后续工作

目前没有解决的问题是网络连接问题,并没有找到较好的方法解决网络问题。

参考

[1] debootstrap构建自己的debian系统

要在Debian构建嵌入式系统,您可以遵循以下步骤: 1. 安装Debian:首先,您需要在目标硬件上安装Debian操作系统。您可以从Debian官方网站下载适用于您的硬件平台的适当版本。 2. 交叉编译工具链:您需要使用交叉编译工具链来为目标平台生成可执行文件。这些工具链包括交叉编译器、库和其他必要的工具。您可以从交叉编译工具链供应商或开源项目中获取适用于您的目标平台的工具链。 3. 构建根文件系统:根文件系统是一个包含操作系统核心、库和文件的目录结构。您可以使用Debian的Debootstrap工具或Buildroot工具从头开始构建根文件系统。这些工具将帮助您安装所需的软件包,并设置文件系统。 4. 配置内核:为了支持您的嵌入式硬件,您需要配置和编译适当的内核。您可以使用Debian提供的内核包或自定义内核配置。根据您的需求,您可能需要启用或禁用特定的内核模块和功能。 5. 引导加载程序:您需要为嵌入式系统选择合适的引导加载程序。这个引导加载程序将在启动时加载内核和根文件系统。具体的引导加载程序取决于您的硬件平台,常见的引导加载程序包括U-Boot和GRUB。 6. 构建和部署:一旦您完成了以上步骤,您可以使用交叉编译工具链编译和构建您的应用程序。然后将生成的可执行文件和必要的库文件复制到嵌入式设备上的适当位置。 这只是一个基本的概述,实际的过程可能因具体的嵌入式平台和需求而有所不同。在开始之前,请确保详细阅读并理解与您的硬件和软件相关的文档和指南。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值