如何轻松构建自己的 Linux 发行版?

如何轻松构建自己的 Linux 发行版?

我想尝试创建我自己的 Linux 发行版。您能否推荐一些不错且易于理解的教程(最好是基于文本的而不是视频)。我听说过一些关于 Arch Linux 的事情,但我不知道如何从那里开始。我需要什么?

答案1

看一下 Linux From Scratch,线性FS他们有一个教程,教你如何构建自己的 Linux 系统,一旦你了解了,你就可以选择一个包管理器和一组包,从而创建你自己的发行版。

为了让答案更完整一点,ArchLinux 是一个几乎 100% 使用 vanilla 软件包的 Linux 发行版。这意味着发行版维护人员几乎不进行任何修补。此外,它没有 *buntu 发行版那样的默认软件包集。

这些特性使 Arch 成为一个非常可定制的发行版。它是您的“自己的发行版”,因为它是您自己的设置。但不像 LFS 那样,它是你自己的内核、模块、包......

答案2

约克托项目是一个“分销建设者”。

有广泛的文档和一个图形生成器,称为滚刀

滚刀图形用户界面

截至2017年更新

据 Yocto 网站称,Hob 项目已被弃用,替代品称为烤面包机

答案3

部分答案取决于您自己的发行版的含义。如果您指的是根据您自己的目的定制的 Linux 版本,供您在自己的机器上使用,甚至在您自己的办公室中使用,那么有一些非常酷的工具可以让您定制已知有效的现有发行版。

http://www.centos.org/docs/5/html/Installation_Guide-en-US/ch-kickstart2.html涵盖 CentOS 的 kickstart 安装(也适用于 Scientific、Fedora 和 RedHat。)还有http://susestudio.com/它允许您制作 SuSe Linux 的定制安装盘,这意味着您可以立即获得您想要安装的软件包。这种方法的优点(对于 kickstart 来说更是如此)是,您可以选择单独的软件包并忽略您不想打扰的任何内容,而且还可以获得知道更新的软件包可供您使用并工作的优势您无需进行大量测试和开销。

如果您只是想让它看起来像您想要的那样,自定义启动屏幕、徽标等,有大量指南可用于进行此类更改。

现在,如果你真的只是想了解具体细节并真正做自己的事情,那么@vfbsilva 关于 LFS 的建议是不可替代的。您确实了解了如何将事物组合在一起以及制作 Linux 的要求......好吧,Linux。然而,这样做几次就足以让我个人意识到我不想重建每个每周发布安全更新的软件包。 :)

答案4

需要知道:

  • 我在这个例子中使用 TinyCoreLinux。抱歉,如果我回复的是一个非常旧的线程,但是有一种方法可以做到这一点(而且我也更喜欢这样做。)
  • 请发表评论
  • 需要这些以 Ubuntu 命名的软件包:qemu-systemqemuqemu-efiqemu-kvmwgetp7zip-full
  • 您的发行版将位于压缩文件中,而不是 ISO,但您可以将其部署到 Sd 卡或 USB 记忆棒

分步说明

  1. 下载 TinyCoreLinux rootfs:

    wget -O tinycore.gz http://tinycorelinux.net/9.x/x86_64/release/distribution_files/rootfs64.gz
    
  2. 使用 p7zip 提取 rootfs:

    7z x tinycore.gz
    mkdir -p linux/tinycore
    7z x tinycore -olinux/tinycore
    rm tinycore.gz tinycore
    
  3. 将Linux放入镜像(abc不需要更换)

    dd if=/dev/zero of=MyLinux.img bs=1M count=384 status=progress
    mkfs.vfat MyLinux.img
    sudo mount MyLinux.img /mnt
    cd linux/tinycore
    sudo cp * /mnt -rv
    cd ..
    sudo umount /mnt
    
  4. 使用快照创建虚拟机(重要的!)如果不创建虚拟机,可能很难删除chroot。它说permission denied你需要recovery mode。虚拟机可以是任何基于 Debian 的发行版。也可以是TinyCore。您只需要一个最新的内核。

    qemu-img create -f qcow2 customizer.qc2 16G
    sudo qemu-system-x86_64 -cdrom /path/to/iso/for/building.iso -hda customizer.qc2 \
    -boot menu=on -m 1536 --enable-kvm -hdb MyLinux.qc2
    

现在您需要运行命令虚拟机!

  1. chroot 进入系统(xyz不需要更换)

    sudo mount /dev/sdb /mnt/xyz
    sudo chroot /mnt/xyz
    
  2. 安装软件包,自定义文件系统

    tce-load -wi packages.tcz to.tcz install.tcz 
    
  3. 关闭虚拟机,现在在主机上运行命令

    sudo poweroff
    
  4. 创建操作系统的 zip 文件

    sudo mount MyLinux.img /mnt
    cd /mnt
    mkdir ~/linuximage
    sudo cp -r * -v ~/linuximage
    sudo chown $(whoami):$(whoami) ~/linuximage --recursive
    sudo chmod 777 ~/linuximage --recursive
    cd ~/linuximage
    zip -r ~/mylinuxdistro.zip .
    cd 
    
  5. 分发和分享!

相关内容