Skip to content

Releases: lishaoyang459353850/jtermos

Release list

Alpha-v1.0.0_01

Choose a tag to compare

JTermOS v1.0.0 发布

一个基于优化 Linux 内核 + Java 的轻量级可引导终端系统。

概览

JTermOS 将裁剪后的 Linux 内核、BusyBox 根文件系统、jlink 精简 JRE 和 squashfs 只读根文件系统打包为 ISO,支持 BIOS/EFI 双引导。系统启动后可直接运行 Java 应用,并支持崩溃自动重启。

核心亮点

  • 极小镜像:ISO 约 28 MB,rootfs.squashfs 约 30–60 MB。
  • 快速启动:启动到 shell < 5 秒。
  • Java 一等公民:预置 Temurin OpenJDK 17 + jlink 定制 JRE,约 40 MB。
  • 运行库完整:预置 libc、libm、libpthread、libdl、libjli、libjava、libnio、libzip、libnss 等。
  • 自动启动与自恢复:Java 应用开机自启,崩溃后 5 秒内自动重启。
  • 双引导:GRUB 2.06 支持 BIOS + EFI。
  • 只读根文件系统:squashfs 提升安全性与一致性,运行时数据可放 tmpfs/overlay。
  • 内置工具:fastfetch、neofetch,方便查看系统状态。

组件版本

组件 版本/选型
引导加载器 GRUB 2.06(BIOS + EFI)
Linux 内核 5.15 LTS / 6.6(可配置裁剪)
根文件系统 BusyBox 静态编译
Java 运行时 Eclipse Temurin OpenJDK 17
JRE 裁剪 jlink 定制,约 40 MB
根文件系统镜像 squashfs
镜像格式 ISO,QEMU 可直接启动

下载资源

  • jtermos.iso:可启动 ISO 镜像
  • rootfs.squashfs:根文件系统镜像(如单独提供)
  • SHA256SUMS:校验文件
  • Source code (zip / tar.gz)

校验镜像:

sha256sum -c SHA256SUMS

快速开始

QEMU 运行

qemu-system-x86_64 -m 512M -cdrom jtermos.iso -nographic

启动后按回车进入 shell,输入 fastfetch 查看系统信息。

物理机 / U 盘启动

sudo dd if=jtermos.iso of=/dev/sdX bs=4M status=progress oflag=sync

将 /dev/sdX 替换为你的 U 盘设备。BIOS 或 UEFI 启动均可,Secure Boot 需关闭或自行签名。

从源码构建

git clone https://github.com/lishaoyang459353850/jtermos.git
cd jtermos
./build.sh all

构建完成后生成 jtermos.iso。详细依赖与步骤见 README。

性能指标

指标 目标值
ISO 大小 ~28 MB
启动到 shell < 5 秒
JVM RSS 90–120 MB
崩溃恢复 ≤ 5 秒
运行内存建议 512 MB 及以上

适用场景

  • 嵌入式 Java 终端设备
  • Java 应用快速演示环境
  • 嵌入式 Linux 构建学习
  • CI/CD 中的最小 Java 运行时沙箱

已知限制

  • 默认根文件系统为只读 squashfs,持久化写入需配置 overlay 或 tmpfs。
  • jlink 定制 JRE 仅包含常用模块;如应用依赖额外模块,请用 jdeps 分析后重新生成。
  • 物理机兼容性依赖硬件;缺少驱动时需在内核配置中追加。
  • Secure Boot 未签名,需在固件中关闭或导入自定义密钥。
  • 生产环境请修改默认登录配置并启用必要安全策略。

反馈与贡献

变更日志

  • 首个正式版本。
  • 完成内核裁剪、BusyBox rootfs、jlink JRE、GRUB 双引导、squashfs 打包与 ISO 生成全流程。
  • 支持 Java 应用自动启动与崩溃自恢复。
  • 预置 Java 运行库与系统信息工具。

Full Changelog: https://github.com/lishaoyang459353850/jtermos/commits/v1.0.0

注意,这是早期测试版,可能出现不可控的漏洞