可以修改linux内核,我尝试搜索但在源代码中找不到任何相关内容
我想修改这一行GNU/Linux 我注意到有不同名称的内核/GNU/Hurd、GNU/Kwindos、GNU/FreeBSD
我想知道是否可以从内核源代码更改 GNU/定制哦GNU/我的名字
答案1
我想知道是否可以从内核源代码 GNU/CUSTOM o GNU/myNAME 进行更改
你把事情搞混了。
Linux 内核被称为“Linux”。不是“GNU/Linux”。只有 GNU coreutils命令行工具在使用(或)uname
询问操作系统描述时才会打印该信息。uname -o
-a
它这样做是因为它是一个 GNU 程序,并且 gnulib 自己决定这是在任何 Linux 主机操作系统上打印的正确内容。
所以,你可以更换它,没什么大不了的。只需更改gnulib的配置脚本硬编码不同的值。这将使uname
程序以不同的方式调用您的系统。 (其他的都不关心。)
所以,你的内核是不是称为“GNU/Linux”。这是“Linux”。
您还可以在需要时替换 Linux 内核本身所调用的内容(使用系统调用,这与同名的uname
命令行工具不同)。uname
但这的代价很高:程序使用该名称来确定它们是在 Linux、FreeBSD、Windows 还是 MS-DOS 3.2 上运行。如果你改变它,很多事情可能会停止工作,构建软件可能会失败,因为配置脚本不再有任何意义,等等。
此外,作为 GPL,您需要将内核的完整源代码提供给您将二进制内核发送给的任何人。因此,将修改后的 Linux 内核命名为“JonathannOS”将使您的生活变得更加困难,而其他人将恢复您的更改,因为使用起来很烦人。
顺便说一句,将每个 Linux 系统称为“GNU/Linux”系统是一个谎言。
到 2022 年,运行不带任何 GNU 软件的 Linux 内核的设备可能比运行带有 GNU 用户空间的 Linux 内核的设备还要多。请参阅:超过 30 亿(!)Android 手机、基于 busybox/musl/newlib/bsdlib 的消费者路由器、大量电视、智能相机、蜂窝调制解调器、几乎所有在法律上不能使用 GPL 软件的新型汽车信息娱乐系统……这些都不是包含任何 GNU 代码。甚至编译器也不一定是 GNU。不管怎样,该命令都会声称您正在使用“GNU/Linux”系统。不过,公平地说,如果您使用该uname
命令,那么您很可能不是其中之一。