haileys / doslinux Goto Github PK
View Code? Open in Web Editor NEWRun Linux programs on DOS
License: Other
Run Linux programs on DOS
License: Other
Tried this with a qcow image i generated via http://gunkies.org/wiki/Installing_MS-DOS_on_Qemu - which resulted in:
โ make
nasm -o doslinux.com -f bin doslinux.asm
i386-linux-musl-gcc -m32 -static -Os -Wall -Wextra -o init/init.o -c init/init.c
i386-linux-musl-gcc -m32 -static -Os -Wall -Wextra -o init/vm86.o -c init/vm86.c
i386-linux-musl-gcc -m32 -static -Os -Wall -Wextra -o init/panic.o -c init/panic.c
i386-linux-musl-gcc -m32 -static -Os -Wall -Wextra -o init/kbd.o -c init/kbd.c
i386-linux-musl-gcc -m32 -static -Os -Wall -Wextra -o init/term.o -c init/term.c
i386-linux-musl-gcc -m32 -static -Os -Wall -Wextra -o init/init init/init.o init/vm86.o init/panic.o init/kbd.o init/term.o
cp hdd.base.img hdd.img
MTOOLSRC=mtoolsrc mmd C:/doslinux
init C: non DOS media
Cannot initialize 'C:'
make: *** [Makefile:19: hdd.img] Error 1
Create the following downloadable bits
To enable people to debug on real hw, remove quiet
from
https://github.com/charliesome/doslinux/blob/master/doslinux.asm#L418
Might sound ridiculous, but why not? It's possible to mimic the new WSL approach and launch RDP client on DOS and Wayland server on Linux. Should be a lot of work, but I can't see why this wouldn't work.
Using an HP t5745 (Intel Atom N280, 2GB RAM), returning from a simple dsl
invocation freezes the keyboard [0]. Not sure what the issue is.
[1] https://sites.google.com/view/lpsantil/home/dos-subsystem-for-linux-on-a-hp-t5745
First, thank you for sharing this project with us!
Could you please add an explicit LICENSE
file to the repo so that it's clear
under what terms the content is provided, and under what terms user
contributions are licensed?
[...] without a license, the default copyright laws apply, meaning that you
retain all rights to your source code and no one may reproduce, distribute,
or create derivative works from your work. If you're creating an open source
project, we strongly encourage you to include an open source license.
Thanks!
I've tried both one I compiled and a pre-compiled one I found. A side note: both don't work without the memory manager being disabled, I'm surprised nobody mentioned this but it would be very nice to have HIMEM support. But it doesn't matter as of now because both of those versions report that the bzImage could not be found. I've tried on both DOSBOX-X and my real 98 machine, it works on neither. I've admittedly never built a Linux distro before so if there's any files that I should provide please let me know. Otherwise, I have nothing to provide.
Linux 2.4.37.11 was the last version of a kernel to (reliably) support UMSDOS, which adds Linux permissions to FAT partitions. There's also a site to add UVFAT (UMSDOS combined with VFAT == LFN) support to the 2.4.19, which patches successfully on 2.4.24 and requires some renaming on 2.4.25-2.4.37.11.
Considering DOS == FAT, this can make implementing rootfs much easier.
This would allow installing this on a Virtual Machine of VMWARE, and the support to freedos to make freedos compatible with this
Replace script/build-prereq
, script/build-busybox
, script/build-linux
with a few Makefile
rules.
It would be great if docker was supported. Is it possible? ๐
A precompiled version of busybox is available here.
https://www.busybox.net/downloads/binaries/1.31.0-i686-uclibc/busybox
Is possible run haiku os ?
FreeDOS is pretty much a drop in replacement in most cases and has a lot more recent development and less licensing concerns. Plus FOSS is great.
Add building i386-linux-musl-\*
cross compiler bits via Makefile
.
For those interested, I made a binary release with my fixes, Makefile improvements & rebuild. It's a roughly 6.5MB zip file to install to your DOS machine.
https://github.com/lpsantil/doslinux
DSL002B.ZIP
https://github.com/lpsantil/doslinux/releases/tag/20230930
A major oversight (even on my part!), the linux build script (https://github.com/haileys/doslinux/blob/master/script/build-linux) doesn't actually use the arguments to call the cross-compiler! I discovered this when porting doslinux to Fedora 38.
Currently, it seems like F38's gcc 13 is too new to build Linux kernel 5.8.9. Ubuntu 22.04's gcc 11 is fine. I think F36 might work OOTB but I'd have to build a VM to verify that. May do that even though it's gone EOL in May 2023.
One way to cross-compile the Linux 5.8.9 kernel (based on https://gts3.org/2017/cross-kernel.html) is to do the following
## DL Linux
# https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.8.9.tar.gz
## Extract Linux Kernel source
# tar zxvf linux-5.8.9.tar.gz
## Copy in the config
# cp -v linux-config-doslinux linux-5.8.9/
## Build
# cd linux-5.8.9 && make -j4 ARCH=x86 CROSS_COMPILE=i386-linux-musl
This is building for me w/F38, a gcc 9.4.0 cross-compiler in /usr/local/
. I'm off to verify this in Ubuntu 22.04 now.
Surely this is about running DOS programs on Linux, not the other way around?
doskey is supported? Could the README mention this briefly?
I ask because I autogenerate a valid doskey file which I use on my win10 laptop
LZ4 kernel images will be slightly larger (15%-ish) but can decompress the kernel much faster than gzip [0]. This will improve overall boot time.
[0] https://www.phoronix.com/scan.php?page=news_item&px=LZ4-Initramfs-Ubuntu-Go-Ahead
Can some more information be added to the README ?
Is the name a pun, or does this run in WIndows, a bit like WSL ?
The screenshot shows it running in QEMU, I'm confused...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.