分享:Debian 12 裁剪内核及最小化DD底包 1

Debian 12 裁剪内核及最小化DD底包

黑五马上就要来临了,又将会是一大波买鸡卖鸡的高潮。。。。

坛子里面用 Debian 的 Seeker 应该是最多的,无奈 Debian 新版本的资源最小化要求越来越高,现在最新 Bookworm 已经无法在 128MB 内存的小鸡上安装和运行了。。。。

研究了几天,终于把裁剪内核和最小化DD底包搞出来了,内核 10MB 左右,可在 128MB 内存小鸡上平稳运行;DD底包 80MB 左右,安装后硬盘占用 210MB左右。。。。

独乐乐不如众乐乐,在这里分享给大家备战黑五。。。。

一、裁剪内核

  • linux-image-6.5.3_6.5.3-1_amd64.deb
  • size: 11,150,388 / 10MB
  • sha256: 7df211ac8568135a77d58c6329d5817003236db47ac392fa798e69f66397acb0
  • url: 点击下载
  • 警告: 内存最小需求为 80MB,64MB内存小鸡不要去尝试;仅支持EXT4文件系统;不支持LVM;仅支持KVM/Xen/Hyper-V/VMware/VBox,OVZ和LXC的小鸡不支持换内核别费劲折腾!!!

二、最小化DD底包

  • debian-bookworm_20231101.gz
  • size: 87,595,569 / 83MB
  • sha256: aaa5d70ee3b6d72754d6410fb5667dcc7a1288667a886215a065c4ae60fe919a
  • url: 点击下载
  • root密码: abcd@1234
  • 警告: 仅支持基于DHCP的IPv4地址,静态IPv4和IPv6需要DD完手工配置;确定你会用DD底包再去搞!!!
点赞
  1. java说道:

    卧槽,牛哇,大佬受我一拜

  2. 1号城管说道:

    简易教程:

    一、 仅使用内核

    说明:既然官方内核可以正常引导系统就没啥必要使用这个裁剪内核了,除非是为了少占用点儿内存和磁盘空间;可以先试试官方cloud内核,如果觉得还是占用空间大再考虑这个裁剪版的;
    使用SFPT或其他方式上传裁剪内核deb文件到vps,然后
    $ sudo dpkg -i xxxxx.deb
    然后重启;
    不出意外此时应该使用的就是裁剪内核了,SSH登陆后的提示信息里面会显示当前内核;
    也可以用 uname -r 命令确认一下;
    然后可以选择移除旧内核腾出磁盘空间:
    $ dpkg --list | grep linux-image
    查出都有哪些旧内核,然后先移除下面这些,你机器上可能只有下面的 1 个或 2 个,反正执行一下也没啥副作用:
    $ sudo apt-get purge linux-image-amd64 linux-image-cloud-amd64 linux-image-arm64 linux-image-cloud-arm64
    然后移除所有旧内核:
    $ sudo apt-get purge 旧内核1 旧内核2 旧内核3....
    基本就差不多了,可以更新一下内存文件系统镜像和grub配置文件:
    $ sudo update-initramfs -u
    $ sudo update-grub
    再重启一下子试试一切正常就OK了。

    二、使用DD底包

    说明:此种方式适用于小鸡内存太小从面板中直接安装Debian12后,启动系统直接内核崩溃无法正常启动;或者是磁盘空间比较小想用个极致精简版的Debian12系统;
    必须条件:小鸡面板上有VNC, 没有VNC会比较麻烦
    步骤:
    a. 首先记录下小鸡的ip/netmask/gateway地址;
    b. 然后看看小鸡面板中有没有提供ISO挂载,提供了哪些ISO,如果提供了ISO挂载那么随便挂载个alpine、netboot.xyz 或者任意的 LiveCD 什么的都行;
    c. 如果没有提供ISO挂载功能,就只能通过iPXE或grub直接加载netboot.xyz然后通过netboot.xyz再网络引导个alpine什么的;
    d. 使用步骤 2 或 3 的方式进入到alpine或其他系统后,先连上网,用ifconfig命令就行,总之DD操作必须在一个可联网的环境中才行:
    $ ifconfig -a # 查看小鸡网络接口,一般是eth0或者ensxxx这种
    $ ifconfig eth0 小鸡IP netmask 小鸡子网掩码 # 设置IP
    $ route add default gw 小鸡网关 # 设置网关
    $ echo 'nameserver 8.8.8.8' > /etc/resolv.conf # 设置DNS
    e. 联网后可以开始DD了,以alpine为例:
    先看一下你的小鸡磁盘是哪个:
    $ lsblk
    例如看到你的磁盘是vda, 那么下面命令随便选一个执行就好,DD包地址换成我帖子中提供的DD包下载地址即可:
    $ curl -s -L http://x.x.x.x/debian.gz | gzip -dc | dd of=/dev/vda iflag=fullblock bs=8M
    $ wget -qO - http://x.x.x.x/debian.gz | gzip -dc | dd of=/dev/vda iflag=fullblock bs=8M
    此过程依赖网速,完成后直接reboot应该就可以进入到这个精简Debian12系统;
    分区大小和文件系统会根据磁盘大小自动扩容;
    登录系统后在cat /etc/network/interfaces文件里面修改eth0为静态IP地址即可,有IPv6的也在这里添加上;
    然后重启,验证下确实没啥问题就可以正常使用了,内存不足以运行apt-get install命令安装软件包的小鸡可以临时添加个swap文件:
    $ dd if=/dev/zero of=/swap bs=1M count=512 && chmod 600 /swap && mkswap /swap && swapon /swap
    或者可以考虑用zram压缩内存:
    $ apt-get install zram-tools
    $ systemctl status zramswap.service

    写的乱七八糟的,也懒得花时间再去整理了,步骤应该都大差不差了,就先这个样子吧;

  3. 1号城管说道:

    UPDATE:20240705

    File: linux-image-6.9.8_6.9.8-1_amd64.deb
    SHA256: fceda9f8bba6c2220414bc82c31bebc77a06d40f9064a78799944217840d3034
    URL: 点击下载

    File: debian_20240705.gz
    SHA256: 8c5a9d25826bf0620b02eb494812db43321b023cd7048898f2b82e2996092eba
    URL: 点击下载

    更新内容:

    1. 升级 Linux Kernel 6.9.8 版本;
    2. 升级 Debian 12.6 版本;

    注意事项:

    1. 底包不支持UEFI引导,例如甲骨文、Scaleway;

回复 1号城管 取消回复

电子邮件地址不会被公开。必填项已用 * 标注

×
订阅图标按钮