


Minix from Scratch Project Established 229
decuser writes "The MFS - Minix from Scratch project was established in the wake of the Brown-Tannenbaum controversy. MFS aims to be to the Minix community what LFS is to the Linux community, a recipe for building an alternative OS from 'scratch.'" See the project's website at mfs.sunsite.dk or minixfromscratch.org.
Horray! (Score:5, Funny)
This is for real, folks. (Score:5, Funny)
Re:This is for real, folks. (Score:5, Funny)
Re:This is for real, folks. (Score:5, Funny)
Re:This is for real, folks. (Score:2)
Good memories? Don't think so! (Score:2, Funny)
Re:Good memories? Don't think so! (Score:4, Interesting)
Re:What would you like to see in minixfromscratch (Score:2)
huh? (Score:3, Insightful)
Uhh OK... (Score:4, Funny)
Agree. Better places to put in effort (Score:5, Insightful)
I guess though it is also worth noting that while Minix was only designed for teaching OS concepts it has been used for RealWork. The same happened to Pascal. Nobody was ever supposed to write any RealCode in Pascal - it was also intended only as a teaching tool.
Re:Agree. Better places to put in effort (Score:5, Funny)
I expect Microsoft to move towards a BSD-ish source license and that I will be playing Duke Nukem Forever on the Phantom console or Linux before Hurd becomes a real OS ;)
Getting Hurd working (Score:5, Interesting)
This could potentially be rectified by building a "File System Manager" and "Device Manager" that support the Linux device and file system models. Then, all Linux device drivers and file systems etc could be plugged into Hurd and used with little/no modification.
The benefit of an exercise like this is that it would push Hurd into "useful" space so that it would become worth putting effort into, and there would then be a microkernel OS with a rich set of code.
For all Linus' comments about "computer science masturbation", there is still a place for microkernels and they can be pretty damn efficient. Having a solid microkernel OS in OpenSource land is of significant value.
Re:Getting Hurd working (Score:2)
Umm, so, in other words, Hurd has some stuff from CS textbooks, but nothing very practical. Man, it's a wonder no one uses it!
Re:Getting Hurd working (Score:5, Informative)
The biggest problem with drivers etc is that nobody wants to duplicate work for many OSs. Having a "Linux driver comapatability environment" could make Hurd a viable place for experimenters to play in.
Re:Getting Hurd working (Score:2)
Re:Getting Hurd working (Score:2)
On the plus side, if this should ever happen, we'll be able to power the world on the flame wars.
Re:Agree. Better places to put in effort (Score:2)
Re:Agree. Better places to put in effort (Score:2)
Re:Agree. Better places to put in effort (Score:5, Informative)
Actually, I just got it booting on my Asus A7N8X with Western Digital WD1200JB and NVidia GeForce FX 5900. Turns out there is a newly discovered bug in gnumach which barfs when you have lots of RAM installed. Add the command uppermem 523648 to Grub's boot entry and magically it all works.
For the more adventurous, you can check out Hurd on L4 [gnufans.org]. The link is to a wiki page that I have been working on recently. But while you can actually run the Hurd and do things in the X-Window system with Gnumach, the L4 variant is just getting off the ground. Some recent crucial code porting has recently occured and we may soon see a libc0 for Hurd on L4 with any luck. If you want to spend about an hour making a bootable debugger then check out the link :-P
Re:Agree. Better places to put in effort (Score:2)
Crap. Looks like the wiki site is slashdotted. I wonder if the server is running under the Hurd? Oops. My bad...
Re:Agree. Better places to put in effort (Score:2)
Hey, speaking of which, does that mean L4 is GPL too?
But anyway, that's kind of neat - I think I'll try Hurd on my extra box.
Re:Agree. Better places to put in effort (Score:3, Interesting)
As for GNU/Hurd running on gnumach, it's quite usable, and relatively stable nowadays. If you really stress it, it will die on you. For me, the filesystem translators seem to be the most unstable. I've never been able to get libc to compile on a local partition (it worked *once* over NFS). Playing around with some of the features you don't find in a typical monolithic unix are neat. User-mounted NFS in your home, ftp sites as part of the filesystem, setting a translator to output fo
Re:Agree. Better places to put in effort (Score:3, Interesting)
Did run Hurd for a few days
Re:Agree. Better places to put in effort (Score:2, Interesting)
Minix is a diffrent operating system with a diffrent focus. I can easly see Minix being used more effectively in the imbeded market where Linux is today.
Also I doupt the people who will be pulled into Minix from scratch would otherwise go to Hurd.
Also (correct me if I'm wrong)[1] but isn't Hurd incomplete? Making a Hurd from scratch might be a bit difficult at this stage.
[1] I know you will but it just feels better to say it. You know. To make it so people think twice befor
Re:Agree. Better places to put in effort (Score:2)
Another interesting idea might be to port the Hurd to run on the Minix microkernel. Admittedly it might not be as sexy as L4Ka or as crufty as gnumach, but it would probably be really easy to do compared to resuscitating gnumach yet again or starting with essentially nothing like with L4.
Minix already has a microkernel with some hardware drivers and the g
Re:Gah. (Score:5, Interesting)
If fact, back in 1991 I was toying around with both Minix and Linux. Minix was pretty cool but it did cost money and it was pretty basic in what it could do. It was pretty much text only. Linux, on the otherhand was something of a baby huey, born on the gigantic side. I remember ftp'ing disk images for days on my 2400 baud modem and then creating a humongous pile of disks.
Minix, on the other hand, was like 2 disks AFAIK, but it wasn't nearly as groovy as Linux was with all that GNU software that was immediately ported over to run on it. I even struggled to get X running on my Debian 0.9 system but never pulled it off with my EGA card that weighed about ten pounds and was covered with hundreds of chips. A VGA card and monitor cost a king's ransom back in those days was way out of my price range.
But compared to MS-DOS and DesqView, which I used to run my old BBS system on back then, Linux was pretty darned cool! You could put a getty on your comport and it kind of was a bbs already, and you could actually do meaningfull things with your computer while it ran the bbs since it had virtual consoles and awesome multitasking even back then, whereas with DesqView you sort of had a poorly performing kind of multitasking system that barely ran anything usefull without taking up so many cycles that nothing really worked well at all. I don't think that Minix was able to do anything like this back then, but then I only really messed around with it for a couple of days.
I always wanted to get Minix .. (Score:4, Interesting)
Re:I always wanted to get Minix .. (Score:5, Informative)
Have you looked at FreeDOS [freedos.org]? Under the hood DOS is simple, heavily documented, reliable and capable of doing many tasks, it can also be very well secured with the right tools or modifications. For example many people forget that COMMAND.COM can be replaced with other programs and there are many tools around designed to block actions or commands from being executed (hint for security look at BBS SYSOP security tools that many people like myself used to write).
But really ... (Score:5, Interesting)
In my operating systems class I was learning how to implement stuff that Windows wouldn't have for another three years (yes, I implemented pre-emptive multi-tasking in '92 on x86 hardware, and it wasn't bloody well rocket science).
Hell, I was reading Tanenbaum for my Operating Systems course. I used his definitions for a bunch of system calls to implement a UNIX layer in another OS. (Uh oh, now SCO will sue me and my professor. =)
Quite frankly I think implementing Minix from scratch is a hell of a lot more interesting than anything DOS ever did. [ And I have the course notes to prove it
Now, don't get me wrong, BBS Sysop has street cred in my book, but DOS isn't exactly what I'd call a sophisticated system to want to play with that much as compared to a real multi-tasking OS, which Minix most definitely was.
Re:But really ... (Score:4, Interesting)
maybe not rocket science, but still impressive as many people at the time were only aware of pre-emptive multi-tasking on the Amiga.
Quite frankly I think implementing Minix from scratch is a hell of a lot more interesting than anything DOS ever did.
True. (Dirty)DOS of course being originally based on CPM which in turn was based on Unix!
However what I and it appears many others like about DOS is the fact it is just so simple, it really is nothing fancy, nothing clever, it just works. Note how active the FreeDOS [freedos.org] homepage is. The simplicity of early DOS versions has also allowed them to be supported on a wide range of hardware including non x86 hardware. It still turns up in the most unlikely of places for single dedicated tasks. There are now many other OS's that are used for embedded tasks but the fact that DOS is still implemented for such tasks says a lot.
For a personal project I recently decided to run it under DOS for reliability and simplicity, security. Security??!?!?!! Yes, DOS programs run as root but with the right admin you can lock a DOS sytem down to the point where it is virtually impossible to hack. When I look at Linux it has become complicated by features, to the point that keeping it simple or securely looking it down is getting more and more difficult. Note: I use Linux and have played with numerous simplified Linux distros, the problem is so many distros come with too many features installed and services enabled. I like DOS for those tasks where you want nothing more than a well known supported file system, a simple bit of networking (inc. IP) and just your app.
Still I have also played with Minix and am personally interested in seeing it evolve more. However like someone else said "what's the point", from a techi point I am very much with the "because crowd" however on the practical side I think if this project had started up several years ago it would be more active. I really wish this new Minix project well however currently I fail to see the demand. Still early days....
Re:But really ... (Score:2)
Please CP/M was or is nothing like Unix. Not even the commands Dir instead of ls, pip instead of cp. Even when they added a directory structure to CP/M it was not a tree structure. CP/M and Unix where miles apart. Now Microsoft sort of slapped some Unix like stuff on to MS-DOS in version 2. That is when you got subdirectories, the cd command and the pipe command.
The first stable version with all that was 2.11 but at
Re:But really ... (Score:2)
Re:But really ... (Score:2)
Did you know that Microsoft developed NT on MIPS boxes right up to Windows 2000? They wanted to make sure that it did not become Intel centric. Guess what? It is now and Intel/AMD only OS
It ain't that easy kid... (Score:3, Interesting)
Heartsurgery is easy: All you need is a blunt knife. Doing something useful like saving someones life by laying a bypass is not.
Implementing preemptive Multitasking is easy. All you need is a loudmouthed CS student. Doing something useful with it like making a formerly cooperati
DOS good for embedded RT systems... (Score:2)
Always found that story amusing for some reason
Re:I always wanted to get Minix .. (Score:4, Informative)
Hmmm sounds like 4DOS. Personally I was never a huge fan. I did write a couple of real and joke shells. Ahh those were the days when you could fake an entire DOS application in a few minutes in front of a compiler. I remember one of our programming teachers used to suddendly appear and start scrolling up and down to read our code as we were busy typing away (very annoying) so one day I wrote the program we were asked to write and another program which displayed the first program and looked just like the programming editor. Imagine his surprise when he hit the down arrow to be greated with a personal message being typed up on the screen.... ;-)
I wonder if there are any explorer.exe replacements?
Yes. How to is documented in both official and unofficial programmers guides. Miles's useful site TinyApps [tinyapps.org] links to a few (as well as some other useful OS distributions [tinyapps.org] and other OS tools of interest). However at a really simple level:
SYSTEM.INI
[boot]
shell=explorer.exe / progman.exe / taskman.exe / myprog.exe
Even possible to start DOS.... better stop there :)
Re:I always wanted to get Minix .. (Score:2)
Re:I always wanted to get Minix .. (Score:2)
Re:I always wanted to get Minix .. (Score:5, Interesting)
Well, now you can download it for free.
Minix [cs.vu.nl]
If you don't like the licensing terms, then choose Linux. Since that was like kinda of the whole point.
Linux is a lot of code. But, LOC isn't the most valuable measure of complexity. Although, it can be overwhelming at first. A lot of Linux code won't be of much interest since it will deal with archaic devices and such. But, Linux as an overall system is well-organized. Which will mean as a hobbiest, after you find the parts of system you want to play around with, it should be easy to modify.
The only real part that will screw you is the fact that as a monolithic kernel, if what you modify has a bug, it can potentially affect every part of the system (but usually it isn't so bad). And, this is usually no worse than any C-type coding unless you are playing around with the file-system.
More on-topic, I don't see any reason why you'd want to rewrite Minix. There is always this type of bully-ing going on. It doesn't mean that 3rd parties should run off like a bunch of chicken littles. Plus there are other projects like xBSD's or Linux that are not necessarily easy to contribute to, but nevertheless you will affect a lot more people and gain their accolades if successful. Meh, I guess it is their time to waste and there are certainly other less productive things they could be doing.
Re:I always wanted to get Minix .. (Score:2)
Minix is free.. and give VsTA a try (Score:2)
Also, there are many other viable OS projects that are small enough to be understood.. Try VsTA for one. Or perhaps one of the projects to create an 'openTOS' ( the os that lives in all the Atari ST' computers )
Re:I always wanted to get Minix .. (Score:4, Interesting)
Plan 9 also has the "distinction" of being the primary inspiration for Hurd, started because Plan 9 was not then free. Plan 9 and Inferno are now both open source, and Plan 9 is also OSI-style Open Source.
Re:I always wanted to get Minix .. (Score:4, Informative)
Operating Systems: Design and Implementation [addall.com]
Meant to go alongside Minix (most of the source code is printed in the back) and written by Tanenbaum. We used it in my operating systems class, and I think it's one of the best resources to understand what's going on. Install the code in BOCHS under Windows/Linux and tinker away.
Re:I always wanted to get Minix .. (Score:2)
My god people (Score:5, Funny)
Follow the shoe! (Score:2)
Remove one shoe!! (Score:2)
Re:My god people (Score:2)
Isn't Minix intentionally incomplete? (Score:5, Insightful)
Minix is great for teacher and student, but it shouldn't be the first choice for general purpose operating systems. At one time it didn't even have networking (but maybe that has changed).
Re:Isn't Minix intentionally incomplete? (Score:4, Interesting)
Improving minix's feature set could potentially make it a tool for teaching other OS concepts; You could have one class where you use minix, and another where you use SMP minix, or what have you.
It's still a pretty useful OS for a 286.
Re:Isn't Minix intentionally incomplete? (Score:5, Interesting)
No. Linus used Minix as the OS for his computer, and used it to run his text editor and compiler and so on to build Linux.
No doubt he read the Minix book. But he didn't "evolve" Minix -- he did something else, on his own.
Then legions of coders around the world used the Internet to contribute improvements to Linux, and Linus managed the whole project. He has really shined as a manager and as a system architect, even more than as a coder.
if as many man-hours were spent improving Minix as were spent improving Linux, who is to say which would be the best today.
I have always heard that microkernel is supposed to make things better. The system is easier to get right, easier to debug. Sure it runs a bit slower with the overhead, but it will be rock solid stable and secure.
What makes me wonder about all this good PR is that the Hurd existed as a project before Linux, and it's still alpha code. Why? And why is the Hurd only available for 32-bit x86? Is the hype surrounding microkernel false, or was there some other factor that has slowed down the Hurd despite its microkernel superiority? (And if so, what is that other factor -- human factors among the the Hurd development leads perhaps?)
Note that I am not implying anything with these questions; they are honest questions from someone who doesn't know, and wonders.
I say support the MFS project, diversity is better than stagnation.
If by "support" you mean "don't spend any time criticising and complaining", I'm right there with you. I'll even go so far as to say "Minix from Scratch guys: good luck, have fun!" But I'm not going to spend any of my own time working on this project.
And I do wonder why they chose to work on Minix instead of the Hurd.
steveha
Re:Isn't Minix intentionally incomplete? (Score:4, Insightful)
Personally, having been messing around with gnumach for quite a while, I think that its a tremendously overcomplicated microkernel. Adding device drivers is a nightmare, and programming for it seems to be really convoluted and alien. It was and probaby is really advanced in some respects, but the complexity caused by this has really hindered the Hurd developer's efforts.
PC hardware advanced right beyond gnumach's ability to keep up almost overnight and anybody who is smart or knowledgable enough to make it current is probably 1. either working 70 hour weeks and getting rich or else 2. too busy living the good life from doing 1. above and too burned out to stand the sight of a monitor anymore.
I wish I could magically patch in linux kernel 2.6 drivers into L4 or gnumach but I'm just a hobbyist and I'm just happy to be able to compile and get the stuff to run. We non-CS major's are at somewhat of a disadvantage I think when it comes to kernel hacking.
Re:Isn't Minix intentionally incomplete? (Score:2)
I think you have it backwards. A microkernel is more complicated and much harder to debug, because the kernel is divided up into a bunch of independent "threads" that communicate via message-passing. It is a monolithic kernel that will be more stable (relative to the amount of debugging) becaus
Re:Isn't Minix intentionally incomplete? (Score:4, Insightful)
So, if you need to debug your network stack, you don't need some special kernel debugger, you can just use gdb. And if you make a mistake in the network stack, it should have limited ability to lock up your whole system, unlike a monolithic kernel (such as Linux) where any error in kernel code potentially could take down the whole kernel.
Yes, the monolithic kernel is simpler: you don't need to build a message to the network subsystem, send it via the message queue, and so on; instead you just make a system call, and you are done. And in fact I believe this simplicity is what made Linus choose the monolithic kernel, despite all the good PR attached to microkernels.
Note that Windows NT started out as a microkernel-ish design, but the overhead of all the message passing led the NT guys to integrate several large chunks of the system (such as video) into a monolithic kernel. Thus a bad video card driver can take down a Windows server, and you cannot run a Windows server completely headless as you can a Linux server.
Linux is now good enough that banks use it to keep money, while the Hurd is still alpha code. Which is why, despite not knowing much about all this, I suspect Linus chose correctly.
steveha
Re:Isn't Minix intentionally incomplete? (Score:2)
Minix Instead of Hurd (Score:3, Insightful)
Re:Isn't Minix intentionally incomplete? (Score:2)
Just to be jerks.... (Score:2, Funny)
Re:Just to be jerks.... (Score:2, Funny)
Re:Just to be jerks.... (Score:3, Funny)
We'll all contribute and call it SlashDoS...
Re:Just to be jerks.... (Score:5, Informative)
Re:Why stop at DOS? (Score:2, Informative)
Re:Why stop at DOS? (Score:2)
I don't get it (Score:2, Funny)
Let's break it down...
The MFS - Minix from Scratch project was established in the wake of the Brown-Tannenbaum controversy. MFS aims to be to the Minix community what LFS is to the Linux community, a recipe for building an alternative OS from 'scratch.'
MSF: nope. NO clue. Macworld San Francisco? Microsoft foundation?
Minix: something to do with MINI-coopers? Maybe a followup to the MINI/iPod story?
Brown-Tannenbau
Not just a troll... (Score:2)
Re:I don't get it (Score:2)
Also, pay attention. The "Brown-Tannenbaum" controversy has been widely reported here and elsewhere. I'm sure some earlier stories relating to it have defi
they forgot to mention (Score:3, Funny)
There's one thing missing (Score:2, Interesting)
Lacking the instructions, this still looks cool and something I'll try in my spare time. Based on the relative differences, this looks a lot more doable timewise than Linux fron Scratch, just based on the relative difference in sizes between the two.
missing the point (Score:4, Insightful)
It's probably a fun project, but it isn't really going to prove anything new that reasonable people don't already know. And it will fail to convince unreasonable people of anything.
better idea - Re:missing the point (Score:2, Interesting)
We'll have a contest to see how many _single_ developers can design, code and finish
an operating system similar to Minix(conceptually) with some standards compliance(i.e.POSIX.)
We'll select a bunch of the most critical subsystems and define those as a Base and give extra
points for the following:
- using a language that's not generally used for OS design,
- designing and coding for portability(more platforms=more points)
- smallest code base
- best document
What controversy? (Score:3, Insightful)
Some background info (Score:5, Informative)
It's interesting to see Tannenbaum's influence on Senn:
"I have to be upfront with you, I am a fair newbie at Minix. I have been using Linux since the 0.9 kernel (downloaded via ftp on VMS in 90s) and have a fairly decent background in Unix - solaris, sco, bsd, etc. I got interested in Minix back around the same time too, but I had success with Linux and stayed with it. I got reminded of Minix the other day when Andrew Tanenbaum posted his response to the 'Brown' book - pure enlightenment - http://www.cs.vu.nl/~ast/brown/."[emphasis added]
Here is some more background info [gnu.org]on the genesis of the project.
A microkernel by the community? (Score:4, Funny)
Hasn't HURD been trying this for 15 years?
Re:A microkernel by the community? (Score:2)
(If you're wondering, Xnu
Re:A microkernel by the community? (Score:2)
Short answer: yes
Long answer: there were/are several different Machs. There's the original one CMU stopped developing awhile back. The FSF maintains a version of Mach, "GNU Mach" -- probably in order to run the Hurd. Various derivatives of Mach were also part of NextStep, OS/X, MkLinux, and OSF/1 (which evolved into Tru64). AFAIK, none of these were derived from "GNU Mach" (or vice versa).
Th
I mistook Linux for Minix... (Score:5, Interesting)
Months later, I spoke to the admin again, and found that I was mistaken. Rather than type in thousands of lines of code for an 8086 unix kernel, I had a fully functional linux workstation with X11, ethernet and all the rest of the good stuff that we take for granted today but were PC fantasies in the Windows 3.0 days.
Re:I mistook Lindows for Windows... (Score:4, Funny)
Months later, I spoke to the admin again, and found that I was mistaken. Rather than downling thousands of MegaBytes of files for an unreliable operating system, I had a fairly functional Linux workstation which ran Windows programs, ethernet and all the rest of the good stuff that Linux users take for granted today like reliability and security but are PC fantasies for Windows XP users.
Re:I mistook Linux for Minix... (Score:2)
I can't say I got X11 to run until 95-96, which my hardware was supported. Didn't have the money to go out and buy a specifically supported video card. Alas. I used to run DesqView/X though, which kicked som
Re:I mistook Linux for Minix... (Score:2)
Yeah, I remember the archie servers being *very* busy. When you could get on, they were quite useful though. Thanks for the reminder
I can't say I got X11 to run until 95-96, which my hardware was supported.
Running X on unsupported hardware was half the fun! I had a Diamond SpeedStar 24x. The graphics chip was supported, but the programmable clock chip was officially "undocumented." There was a fairly easy hack that involved running some custom code in order to ge
Re:I mistook Linux for Minix... (Score:2)
[1] In my early teens I was a SubGenius, like any good nerdling- a
Show me the code! (er, documentation) (Score:5, Informative)
MFS looks like it's trying to write a manual for installing Minix. That's fine, but will it really teach "operating system design concepts"? Wouldn't Tanenbaum's textbook be better for that? Linux From Scratch teaches you a lot about Linux, but it doesn't teach you how the kernel works.
Re:Show me the code! (er, documentation) (Score:4, Funny)
Slashdot should stop promoting projects that have nothing more than a Web page.
Does this mean Slashdot should stop promoting itself?
"in the wake of the Brown-Tannenbaum controversy" (Score:2, Insightful)
Hippie programming (Score:2)
Next!
educational tool (Score:2, Insightful)
It is EMPTY controversy, so the project'll fail (Score:2, Insightful)
PS My favourite part of Brown's response is:
Information (Score:2)
Here [linuxfromscratch.com] is the link for linuxfromscratch.
MFS Intent and Purpose Clarified (Score:3, Informative)
MFS - Minix from Scratch
This project is not intended to replace or compete with ANY existing operating system. It is not an installation FAQ. It is not a DISTRO.
It is an attempt to make OS design and system internals accessible to the masses in a way that Linux cannot - due in part to its sheer mass and in part to its complexity (what makes it useful as a desktop and enterprise server). Minix provides us with a platform that is well designed, modular and well documented in source code, in addition to being a compact code base from which to spring from.
The project is in its infancy. A lot of folks have been complaining, here at /., that the project is lacking in output - give us a break, we are less than a month old. We are dependant on collaboration, if you think that there isn't much done yet - do it and you'll be very appreciated - otherwise, watch and learn, we'll get there in time.
To the many folks who have expressed interest in our little project - thanks, I look forward to working with you.
WillRe:revenge (Score:2)
Is that something you get from typing in stolen code?
Re:revenge (Score:2, Interesting)
Re:revenge (Score:3, Informative)
Re:What I want to know (Score:2, Funny)
HARDWARE REQUIRED
To run MINIX 2.0, you need a PC driven by an 8088, 286, 386, 486, or Pentium CPU. The system must be 100% hardware compatible with the PC-AT and its successors (i.e, EISA bus, IDE disk, etc.).
To run the 16-bit version, 640K is the minimum. To run the 32-bit version, 2MB is the minimum. To run comfortably, another 512K is needed.
A hard disk is not technically required, but is strongly recommended to take full advantage of the system. To load
Re:Now, this is hilarious! (Score:2)
Re:Now, this is hilarious! (Score:2)
Re:how far along is it? (Score:2)
Re:Gentoo... (Score:2, Insightful)
Re:Gentoo... (Score:5, Funny)
(just kidding)
Re:Macintosh File System (Score:2)
Re:Macintosh File System (Score:2)