sm-commit AT lists.ibiblio.org
Subject: Source Mage code commit list
List archive
[[SM-Commit] ] GIT changes to master grimoire by Ismael Luceno (5e58c90346e5094f7a15385e74bcc385976ee8fc)
- From: Ismael Luceno <scm AT sourcemage.org>
- To: sm-commit AT lists.ibiblio.org, sm-commit AT lists.sourcemage.org
- Subject: [[SM-Commit] ] GIT changes to master grimoire by Ismael Luceno (5e58c90346e5094f7a15385e74bcc385976ee8fc)
- Date: Sun, 4 Oct 2026 17:20:27 +0000
GIT changes to master grimoire by Ismael Luceno <ismael AT sourcemage.org>:
ChangeLog | 4 ++++
kernels/freedos-lite/BUILD | 27 +++++++++++++++++++++++++++
kernels/freedos-lite/DEPENDS | 9 +++++++++
kernels/freedos-lite/DETAILS | 26 ++++++++++++++++++++++++++
kernels/freedos-lite/HISTORY | 3 +++
kernels/freedos-lite/INSTALL | 11 +++++++++++
kernels/freedos-lite/PRE_BUILD | 11 +++++++++++
kernels/freedos-lite/WATCH | 1 +
8 files changed, 92 insertions(+)
New commits:
commit 5e58c90346e5094f7a15385e74bcc385976ee8fc
Author: Ismael Luceno <ismael AT sourcemage.org>
Commit: Ismael Luceno <ismael AT sourcemage.org>
freedos-lite: new spell, free DOS-compatible operating system (lite image)
diff --git a/ChangeLog b/ChangeLog
index 4b5e810..a456a02 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2026-10-04 Ismael Luceno <ismael AT sourcemage.org>
+ * kernels/freedos-lite: new spell, free DOS-compatible operating
+ system (lite image)
+
2026-10-01 Ismael Luceno <ismael AT sourcemage.org>
* python-pypi/podman-compose: new spell, run compose files with
podman
diff --git a/kernels/freedos-lite/BUILD b/kernels/freedos-lite/BUILD
new file mode 100755
index 0000000..4fff474
--- /dev/null
+++ b/kernels/freedos-lite/BUILD
@@ -0,0 +1,27 @@
+export WATCOM=/opt/watcom &&
+kernel="$SOURCE_DIRECTORY"/SOURCE/KERNEL &&
+freecom="$SOURCE_DIRECTORY"/SOURCE/FREECOM &&
+tree="$SOURCE_DIRECTORY"/tree &&
+make -C "$kernel" all &&
+(cd "$freecom" && LNG=english sh build.sh wc) &&
+bindir="$tree"/freedos/bin &&
+install -Dt "$tree" -m644 \
+ "$kernel"/bin/kernel.sys &&
+install -Dt "$tree/freedos/bin" -m644 \
+ "$kernel"/bin/country.sys \
+ "$kernel"/bin/setver.sys \
+ "$freecom"/command.com &&
+<<-"!">"$tree"/fdconfig.sys sed 's@$@\r@' &&
+ COUNTRY=001,858:\\FREEDOS\\BIN\\COUNTRY.SYS
+ LASTDRIVE=Z
+ BUFFERS=20
+ FILES=40
+ SHELL=\\FREEDOS\\BIN\\COMMAND.COM \\FREEDOS\\BIN /E:2048
/P=\\FDAUTO.BAT
+!
+<<-"!">"$tree"/fdauto.bat sed 's@$@\r@' &&
+ @echo off
+ set PATH=%%CD%%\\FREEDOS\\BIN;%%CD%%
+ set DIRCMD=/P /OGN /Y
+ prompt $p$g
+!
+find "$tree" -exec touch -d "@$SOURCE_DATE_EPOCH" {} +
diff --git a/kernels/freedos-lite/DEPENDS b/kernels/freedos-lite/DEPENDS
new file mode 100755
index 0000000..5fdcb7e
--- /dev/null
+++ b/kernels/freedos-lite/DEPENDS
@@ -0,0 +1,9 @@
+. "$GRIMOIRE"/VDEPENDS &&
+<<-! vdepends
+ dosfstools
+ gcc
+ mtools
+ nasm
+ openwatcom
+ upx
+!
diff --git a/kernels/freedos-lite/DETAILS b/kernels/freedos-lite/DETAILS
new file mode 100755
index 0000000..246536c
--- /dev/null
+++ b/kernels/freedos-lite/DETAILS
@@ -0,0 +1,26 @@
+ SPELL=freedos-lite
+ VERSION=1.4
+ SOURCE=kernel-FreeDOS-v$VERSION.tar.gz
+
SOURCE_HASH=sha512:bdf4264499744a83cd1ef29c14b7e06e599f73518c5cdb6341c2eed5eb5cd36460bea531495bb5eefb33cbd8e8f1699d52f3460ccc48688f0432268c61e42414
+ SOURCE2=freecom-FreeDOS-v$VERSION.tar.gz
+
SOURCE2_HASH=sha512:e027b0a4d17f71305e56c155fa0e16c7fb8e2916d8b72049191fbfcd9284387422ae8b7007fb11b00f6f6bec285628b4077d2089f9c7d4a259d1b75b26275a29
+SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
+ WEB_SITE=https://www.freedos.org/
+
SOURCE_URL[0]=https://gitlab.com/FreeDOS/base/kernel/-/archive/FreeDOS-v$VERSION/$SOURCE
+
SOURCE2_URL[0]=https://gitlab.com/FreeDOS/base/freecom/-/archive/FreeDOS-v$VERSION/$SOURCE2
+SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH:-1742892048}
+ LICENSE[0]=GPL-2.0-or-later
+ ENTERED=20261003
+ KEYWORDS="dos operating system"
+ SHORT="free DOS-compatible operating system (lite image)"
+cat << EOF
+FreeDOS is a complete, free, DOS-compatible operating system meant for
+classic PC hardware. It provides the kernel, the command interpreter, a
+file system driver for FAT and a growing collection of DOS utilities.
+
+This spell builds a minimal diskette image with only the kernel and
+command interpreter, named x86boot-lite.img.
+
+For the whole FreeDOS distribution use the freedos-bin spell, which installs
+from the release media.
+EOF
diff --git a/kernels/freedos-lite/HISTORY b/kernels/freedos-lite/HISTORY
new file mode 100644
index 0000000..ea444c7
--- /dev/null
+++ b/kernels/freedos-lite/HISTORY
@@ -0,0 +1,3 @@
+2026-10-04 Ismael Luceno <ismael AT sourcemage.org>
+ * CONFLICTS, DEPENDS, DETAILS, PRE_BUILD, BUILD, INSTALL, HISTORY,
+ WATCH: spell created
diff --git a/kernels/freedos-lite/INSTALL b/kernels/freedos-lite/INSTALL
new file mode 100755
index 0000000..5344fe7
--- /dev/null
+++ b/kernels/freedos-lite/INSTALL
@@ -0,0 +1,11 @@
+export TZ=UTC && # pin for reliable timestamps on FAT
+install -d "$INSTALL_ROOT/usr/lib/freedos" &&
+mkfs.fat --invariant -F 12 -n FD14BOOT -C x86boot-lite.img 1440 &&
+mcopy -m -i x86boot-lite.img -s -Q tree/* :: &&
+dd if="SOURCE/KERNEL/boot/fat12com.bin" of=x86boot-lite.img \
+ bs=1 skip=62 seek=62 count=450 conv=notrunc &&
+install -Dt "$INSTALL_ROOT"/usr/lib/freedos/ -m644 x86boot-lite.img &&
+install -Dm444 "$SOURCE_DIRECTORY/SOURCE/KERNEL/COPYING" \
+ "$INSTALL_ROOT/usr/share/doc/$SPELL-$VERSION/COPYING.kernel" &&
+install -Dm444 "$SOURCE_DIRECTORY/SOURCE/FREECOM/license" \
+ "$INSTALL_ROOT/usr/share/doc/$SPELL-$VERSION/LICENSE.freecom"
diff --git a/kernels/freedos-lite/PRE_BUILD b/kernels/freedos-lite/PRE_BUILD
new file mode 100755
index 0000000..3d99bf8
--- /dev/null
+++ b/kernels/freedos-lite/PRE_BUILD
@@ -0,0 +1,11 @@
+mkdir -p "$SOURCE_DIRECTORY/SOURCE" &&
+cd "$SOURCE_DIRECTORY" &&
+unpack_file &&
+unpack_file 2 &&
+mv *-FreeDOS-v$VERSION/SOURCE/* SOURCE/ &&
+stamp=$(date -u -d "@$SOURCE_DATE_EPOCH" '+%b %e %Y') &&
+clock=$(date -u -d "@$SOURCE_DATE_EPOCH" '+%H:%M:%S') &&
+sedit "s|__DATE__|\"$stamp\"|g;s|__CLOCK__|\"$clock\"|g" \
+ SOURCE/FREECOM/shell/ver.c \
+ SOURCE/KERNEL/hdr/version.h \
+ SOURCE/KERNEL/sys/sys.c
diff --git a/kernels/freedos-lite/WATCH b/kernels/freedos-lite/WATCH
new file mode 100644
index 0000000..b25f6c7
--- /dev/null
+++ b/kernels/freedos-lite/WATCH
@@ -0,0 +1 @@
+0 .
https://gitlab.com/api/v4/projects/FreeDOS%2Fbase%2Fkernel/repository/tags
"FreeDOS-v([0-9.]+)"
- [[SM-Commit] ] GIT changes to master grimoire by Ismael Luceno (5e58c90346e5094f7a15385e74bcc385976ee8fc), Ismael Luceno, 10/04/2026
Archive powered by MHonArc 2.6.24.