4 ms·
Emacs standing alone on a Linux Kernel
- ramchip 17y agoWho would have known... it really is an OS.
- stcredzero 17y agoLots of Lispers and Smalltalkers would roll their eyes at this. (Some CS research history: Both those languages were OS.)
- viraptor 17y agoIsn't it possible to do that with any program with no external dependencies?
- vidarh 17y agoYes, it is. I've had embedded systems boot straight into busybox like shells for example. Even more fun, the system didn't have a BIOS at all (it was hard wired to just jump into a location in flash, were we placed the Linux second stage boot loader to uncompress the kernel image to RAM, which then executed the shell immediately. Even the shell was really mostly there to aid debugging - in production use it'd immediately spawn the main app for the system. As long as the kernel has whatever drivers you need compiled in instead of as modules, and as long as your app either doesn't directly or indirectly spawn lots of child processes or if it does it takes care of wait()'ing for them, and as long as you don't need any getty's (without spawning them yourself) there's no problems tearing out everything and replacing it with a self contained static app.
- rbanffy 17y agoI saw it done with Squeak. IIRC. With a rotated monitor, it would pretty much pass for an Alto 2002 ;-)
- capablanca 17y agoSingle threaded OS?
- mahmud 17y agoM-x shell or M-!
- andybak 17y ago"Emace: A pretty good operating system, but it could use a better text editor." I can't trace the source of this quip but I'm glad someone has set out to prove the first part of it...
- deleted 17y ago[deleted]
- philjackson 17y agoYou can't trace it because everyone on the internet has said it at least once.
- spudlyo 17y agoYou could use vim as init as well, it just wouldn't be as much fun, since you couldn't do any programming.
- gnosis 17y agoActually, vim has a programming language built in to it: vimscript. So you could certainly program from it. And that's not to mention the various other programming language interfaces vim has. If you've compiled vim with the right options, you could use Perl, Python, Ruby, or Lua from within vim.
- lallysingh 17y agoSounds about perfect for netbookin'.
- krakensden 17y agoexcept you'd have a devil of a time dealing with wireless networks
- dryicerx 17y agoThere is actually a easier way to do this. Pass this parameter while in your boot loader init=/usr/bin/emacs-nox This will fire up emacs instead of init once the kernel is done booting up. You also need mount, but you can run that within emacs.