【未来虫教育】Linux 之父如何定义 "Linux" !
创始人
2024-10-26 12:49:37
0

LINUX是什么?

LINUX是一个免费类unix内核,适用于386-AT计算机,附带完整源代码。

主要让黑客、计算机科学学生使用,学习和享受。

它大部分用C编写,但是一小部分是用gnu格式汇编,而且引导序列用的是因特尔086汇编语言。

C代码是相对ANSI的,使用一些GNU增强特性(大多为 __asm__ 和 inline)。

然而有很多可用于386电脑的unices,他们大部分要花很多钱,而且不附带源码。

因此他们是使用计算机的理想选择,但是如果你想了解他们如何工作,那是不可能的。

也有一些 Unix 是附带源码的。Minix,Andrew S. Tanenbaum编写的学习工具,已经在大学中作为教学工具使用了很多年了。

LINUX与Minix是最相似的,由于它很小而且不是非常复杂,因此易于理解(嗯…)。

LINUX是基于Minix编写的,因此有相当多的相同点,任何Minix黑客在使用LINUX的时候都感觉非常熟悉。

不过,没有在项目中使用Minix代码,因此Minix版权没有限制到这个新系统。它也是完全免费的,而且它的版权非常宽松。因此不像使用Minix,它不需要几兆字节大小的区别。

LINUX版权

虽然是免费的发布版,我还是从以下几个方面限制了LINUX的使用:

❀ 你可以自由复制和重新发布源码和二进制,只要是:

1、完全开源。因此不能单独发布二进制,即使你只修改了一点。

2、你不能从发布版获取利益。事实上甚至“装卸费用”都是不被接受的。

3、你要保持完整的适当版权。

❀ 根据需要你可能会修改源码,但是如果你发布了新系统的一部分(或者只有二进制),必须将新的代码包含进去。

❀ 除了不包含版权的代码之外,你可能会做一些小的修改。这由你来定,但是如果能将相关内容或者代码告诉我,将不胜感激。

对任何使用或者扩展系统的人来说,这应该足够宽松而不会引起任何担忧。如果你有朋友真的不想要源码,只想要一个能运行的二进制,你当然可以给他而不用担心我会起诉你。不过最好只在朋友之间这么做。

LINUX运行所需的硬件/软件

LINUX是在一个运行Minix的386-AT上开发的。由于LINUX是一个真正的操作系统,而且需要直接与硬件交互来做一些事情,你必须有一个非常相似的系统来让他顺利运行:

❀ 386-AT(PS/2之类是不同的,不能正常运行)

❀ VGA或者EGA屏幕硬件。

❀ 标准AT硬盘接口,IDE盘可以运行(实际上我用的就是这个)。

❀ 正常实模式BIOS。一些机器看起来是用虚-86模式运行启动程序,而且在这样的机器LINUX不会启动和正常运行。

LINUX会发展成为一个自给自足的系统,现在需要Minix-386才能正常运行。你需要Minix让初始化启动文件系统,和编译OS二进制。在那之后LINUX是一个自给自足的系统,但是为了做文件系统检查(fsck)和修改之后重编译系统,推荐使用Minix。

获取LINUX

LINUX现在可以使用匿名ftp从‘nic.funet.fi’的‘/pub/OS/Linux’目录获取。这个目录包含操作系统的所有源码,还有一些二进制文件,因此你可以真正使用系统了。

注意!二进制大多是GNU软件,而且版权比LINUX的严格(GNU非盈利性版权)。

因此你不能在不发布他们源码的情况下重新发布他们,可以在/pub/GNU中找到。关于GNU非盈利性版权,从任何GNU软件包了解更多。

此目录中各类文件如下:

❀ linux-0.03.tar.Z–系统的完全源码,16位tar压缩文件格式。

❀ Linux.tex–这个文件的LATEX源码。

❀ bash.Z–在LINUX下运行的bash二进制文件。这个二进制文件应该放到预留给LINUX文件系统中的/bin/sh下(参见installation)。

❀ update.Z–更新二进制文件,要放到/bin/update。

❀ gccbin.tar.Z–GNU cc二进制文件需要由一个可运行的编译器。这个tar压缩包含有编译器,加载器,汇编程序和支持程序(nm,strip等)。它还包含一个小型的库,可用于大部分程序。

❀ include.tar.Z–让gcc运行的必要include文件。

❀ unistd.tar.Z–unistd库程序的源码(即系统调用接口)。通过这个你可以使用系统独立库源码编译一个大一些的库。

❀ utilbin.tar.Z–各种GNU工具的二进制文件,包括GNU的fileutils,make和tar。也包含克隆emacs的uemacs。

❀ README, RELNOTES-0.01, INSTALLATION–包含一些(有点过时的)LINUX相关的信息的ascii文件。

让系统运行的最少文件是OS源码和bash和更新二进制文件。不过只用这些,你做不了什么事。

安装

在你拿到了必要LINUX文件之后,你需要编译系统和创建root目录。必要的二进制文件需要放到root文件系统中。

按如下操作:

1. 备份你的软件。虽然LINUX从没有毁坏过我的任何文件,但没有什么是必然的。安全胜过遗憾。

2. 选择/创建一个标准MinixHD-分区作为新的LINUX root文件系统。

3. 在新的root创建必要的设备节点。LINUX与Minix使用相同类型的节点,所以使用Minix的mknod命令创建下面的设备:节点号与在Minix中相同。

● /dev/tty

● /dev/tty[0-2]

● /dev/hd[0-9]

4. 将必要文件放到新的root分区。文件应该放在下面目录中:希望你现在有一个功能正常的unix,而且你已经root权限登录。LINUX现在没有‘init’过程,只要你注销,系统会同步并等待。使用三指键(Ctrl+Alt+Del)重启机器。

● gcc

● 添加链接到你选择的/usr/local/lib中的文件。我将ld,as,nm,strip和size链接到他们相应的 /usr/local/lib/gcc-XXX。

● gccbin.tar.Z中的内容,除了gcc

● include.tar.Z的内容

● utilbin.tar.Z的内容

● sh,即bash.Z

● update

● /bin:

● /usr/bin:

● /usr/include:

● /usr/local/lib:

● /usr/local/bin:

● 编辑系统中的linux/include/linux/config.h。这个文件包含了针对于系统的信息:内存空间,硬盘类型,root分区号(同样的与Minix中的编号相同),键盘类型(现在只有US和Finnish)等。

● 编译LINUX源码。一个简单技巧就可以完成,在你编辑makefiles为适合你的系统之后(即,删除-mstring-insnsflag,和修改适合你的路径。)1.40之前版本gcc的用户可能需要添加gnulib到makefile中‘LIBS=’一行。

● 复制产生的镜像文件到软盘(即,cp Image /dev/PS0 或者之类的)。

● 使用新的软盘重启。启动界面应该告诉你系统正在启动(加载系统…),然后是一些必要的文件系统信息(xxx/XXX inodes/blocks free),接下来是一个确定,还有bash提示(如果你没有.bashrc文件,则初始化bash#)。

相关内容

AI赋能助力廉洁教育“精准...
□ 龚俊琳 当人工智能浪潮席卷各领域,纪检监察工作也迎来数字化转型...
2026-07-12 10:38:27
“海妖”现身!赋能AI
日前,由InMar Technologies与OptiFuel S...
2026-07-10 23:08:56
教培AI提效:从入门到“真...
这一轮AI变化里,很多教培机构都面临同样的困惑: 知道AI很重要,...
2026-07-08 23:07:18
雷蛇推进灵刃18 Ubun...
近日,科技媒体Phoronix披露了一则重要消息:雷蛇正为其旗舰级...
2026-07-08 23:01:45
跨越23年未了局:Xinu...
科技领域的一场持续多年的版权纠纷再度引发关注。Xinuos 与 I...
2026-07-08 23:00:08
AI营养餐桌2.0开启科学...
央广网珠海7月7日消息(记者徐钡儿 实习记者莫凡)6月30日,以“...
2026-07-08 11:36:22

热门资讯

2024云栖大会|阿里云升级无... 北京商报讯(记者魏蔚)9月20日,阿里云无影AI云电脑在2024云栖大会上展出,该版本基于最新的终端...
MWC2025荣耀多款AI技术... 人民财讯3月6日电,2025世界移动通信大会(MWC 2025)上,荣耀MagicBook Pro ...
摩尔线程AI生图摩笔马良全新升... 快科技8月7日消息,作为国产GPU的杰出代表,摩尔线程在当下火爆的AIGC浪潮中也推出了自己的软硬一...
原创 2... #春日生活好物种草季#近年来,笔记本电脑市场迎来技术爆发期,尤其在手机厂商跨界入局后,轻薄本在性能、...
微软 Azure AI 语音服... IT之家 8 月 23 日消息,微软Azure AI 语音服务允许开发者构建多语言生成式 AI 语音...
摩尔线程发布AI算力笔记本MT... 钛媒体App 12月20日消息,摩尔线程创始人、董事长兼CEO张建中在摩尔线程首届MUSA开发者大会...
谷歌打磨 Gemini AI ... IT之家 8 月 31 日消息,谷歌于 8 月 27 日发布博文,宣布旗下 Gemini AI 支持...
Macos系统上一款强大的卸载... App Cleaner mac中文版是Mac os系统上一款强大 的mac卸载工具,以帮助您完全卸载...
青云QingCloud Kub... 日前,青云科技宣布开源 Thanos 的企业级发行版 Whizard,为企业带来真正高可用、可扩展、...
8月20日基金净值:前海开源中... 证券之星消息,8月20日,前海开源中国稀缺资产混合A最新单位净值为1.43元,累计净值为1.43元,...