发布 ELKS 0.6,这是适用于较旧 16 位 Intel 处理器的 Linux 内核变体

ELKS 0.6(Embeddable Linux Kernel Subset)项目已经发布,为16位处理器Intel 8086、8088、80188、80186、80286和NEC V20/V30开发类Linux操作系统。该操作系统既可以在较旧的 IBM-PC XT/AT 级计算机上使用,也可以在重新创建 IA16 架构的 SBC/SoC/FPGA 上使用。该项目自 1995 年以来一直在开发,最初是作为 Linux 内核的一个分支,用于没有内存管理单元 (MMU) 的设备。源代码根据 GPLv2 许可证分发。该系统以映像的形式提供,用于记录在软盘上或在 QEMU 模拟器中运行。

网络栈有两种选择——Linux内核的标准TCP/IP栈和运行在用户空间的ktcp栈。网卡支持与 NE2K 和 SMC 兼容的以太网适配器。还可以使用 SLIP 和 CSLIP 通过串行端口创建通信通道。支持的文件系统包括 Minix v1、FAT12、FAT16 和 FAT32。引导过程是通过 /etc/rc.d/rc.sys 脚本配置的。

除了适用于 16 位系统的 Linux 内核之外,该项目还开发了一组标准实用程序(ps、bc、tar、du、diff、netstat、mount、sed、xargs、grep、find、telnet、meminfo、等),包括bash兼容的命令解释器、屏幕控制台窗口管理器、Kilo和vi文本编辑器、基于Nano-XX服务器的图形环境。许多用户空间组件都是从 Minix 借用的,包括可执行文件格式。

在新版本中:

  • 添加了 BASIC 语言解释器,适用于工作站和 ROM 中闪存的系统。包括用于处理文件(LOAD/SAVE/DIR)和图形(MODE、PLOT、CIRCLE 和 DRAW)的命令。
  • 添加了一个用于处理 tar 档案的程序。
  • 添加了 man 和 eman 命令来显示 man 手册,并提供了对显示压缩手册页的支持。
  • bash 实现有一个内置的测试命令(“[”)。
  • 添加了“网络重新启动”命令。 nslookup 命令已被重写。
  • 添加了在 mount 命令中显示有关已安装分区的信息的功能。
  • 具有 FAT 文件系统的分区上的 ls 命令的速度已提高。
  • 显着提高了 NE8K 网络驱动程序的性能和对 2 位系统的支持。
  • FTP 服务器 ftpd 已被重写,添加了对 SITE 命令的支持以及设置超时的功能。
  • 所有网络应用程序现在都支持通过 in_gethostbyname 调用进行 DNS 名称解析。
  • 添加了对将整个磁盘复制到 sys 命令的支持。
  • 添加了新的设置命令以快速配置主机名和 IP 地址。
  • 在 /bootopts 中添加了 LOCALIP=、HOSTNAME=、QEMU=、TZ=、sync= 和 bufs= 参数。
  • PC-98 计算机的端口添加了对 SCSI 和 IDE 硬盘驱动器的支持,添加了新的 BOOTCS 引导加载程序,实现了对从外部文件加载的支持,并扩展了对磁盘分区的支持。
  • 8018X 处理器的移植增加了对从 ROM 运行的支持并改进了中断处理。
  • 标准 C 库中添加了一个数学库,并提供了在 printf/sprintf、strtod、fcvt、ecvt 函数中处理浮点数的功能。 strcmp 函数代码已被重写并显着加速。已经提出了 printf 函数的更紧凑的实现。添加了 in_connect 和 in_resolv 函数。
  • 内核改进了对 FAT 文件系统的支持,将最大挂载点数量增加到 6 个,添加了对设置时区的支持,添加了 uname、usatfs 和警报系统调用,并重写了与计时器配合使用的代码。



来源: opennet.ru

添加评论