Re: [racket-users] Re: Boot To Racket
Oh, this variation might be easier than writing enough OS from scratch to run Racket, and perhaps more interesting: go directly from figuring out the magical incantations (device initialization, etc.) to bring up a RasPi to the point you can blink an LED, to displaying something on the video device, to running your own R5RS Scheme REPL, implemented in C or assembly. Don't be scared away from coding your own Scheme from scratch. A whole lot of them got started that way, because it's easy to code your own (If you borrow existing approaches for garbage collection and evaluation with tail calls), then do something different with it. In your case, you're implementing Scheme on bare metal, and can see how that can accommodate Scheme. For possibly easier debugging, you can develop your ARM Scheme implementation mostly on your Linux desktop, in normal userspace and/or in an ARM QEMU. Later on, you can borrow key stuff from Racket, like its syntax reading&transforming and phases&modules. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Re: Boot To Racket
My comments were about adapting off-the-shelf solutions. If you want to do it from scratch, for educational/hack value, or because you want to do something better in some way, then Just Do It. Suggestions, based only on a general familiarity... There are introductory textbooks on operating systems that you can skim, to introduce scheduling, virtual memory, devices, and filesystems. Also get docs for the particular ARM architecture and the exact SoC and peripherals that your chosen model of RasPi uses. And some Linux-specific docs (maybe even just a device drivers book). In parallel with book-learnin', to motivate and anchor, you might also look through the Linux source, to see what it does to bring up a RasPi. Try to trim that down to a minimal set of stuff you need to implement, to boot a RasPi to the point you can blink an LED under your control. Then implement that, then implement the rest of your jeOS. http://knowyourmeme.com/memes/how-to-draw-an-owl You can look into the Racket code, to see what OS system calls it needs to make for a REPL. It might be a lot of Posix you have to implement. There's also this RasPi-specific OS text, and perhaps others like it, though I haven't looked through it: http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/ Something more prepared, like that, might be the best way to get started. Even Linux started that way. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Re: Boot To Racket
I've been following this discussion with keen interest. Although my Liitin.org project is far from minimal in size (viable sized by design), it does have some common objectives. Racket is used as "the native language" that is meant to be able to control all areas of the cloud-based, native Linux environment. I'm very GUI-oriented myself, but will do my best to provide convenient command-line tools as well. br, jukka Lehi Toskin: "I have this idea, this vision. I wish to create a small system that would more or less only be to turn on the machine (probably an RPi) and then you'd immediately be inside a Racket REPL..." William G Hatch: "I would love to see a Racket unikernel, and be able to essentially run a modern Lisp machine..." -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.