Skip to main content

Posts

Showing posts with the label Virtual Machine

Building an experimental monolithic kernel

In this blog post, we will walk you through the process of developing a monolithic kernel call tinyOS from scratch by following tutorials from JamesM's and Bran's Kernel Development guides. This includes setting up a cross-compilation toolchain, writing assembly and C code for the kernel, creating an ISO image with GRUB , and testing it in a virtual machine (VM) using VirtualBox . Since some resources are no longer available, we will also provide alternative solutions and details on the entire process. There are several kernel development tutorials available on the internet, but JamesM's tutorial stands out as more organized and comprehensive, covering a broad range of features. I followed this tutorial a few years ago, but unfortunately, the original site is no longer accessible. Thankful to archive.org, the content is still available , and the full source code can also be downloaded from the site . tinyOS in GRUB menu. Before diving into the kernel development, we need...

LiteASM - Light Weight & Customizable Assembly Compiler & Virtual Machine

LiteASM is a Light weight and reconfigurable Assembly language compiler and Virtual Machine. It is design to fulfill the following core requirements: As a scripting interface for embedded systems. As a cross platform scripting interface. As a experimental tool for compiler construction. LiteASM compiler is design with minimum static instruction set. Its dynamic instruction set can be easily extend using compilers configuration files. LiteASM compiler generate fixed length binary output file and it can execute on LiteASM Virtual Machine Simulator ( litevm ) or on top of platform specific virtual machine. Virtually LiteASM Virtual Machines can execute on any 8bit to 64bit CPU/MCU/DSP platform. 8bit version of Fibonacci series demo on LiteASM Virtual Machine Simulator LiteASM compiler and Virtual Machine simulator are distribute as a free and open source software (under the terms of GNU GPL version 3.0 ) and available for both Windows and Linux operating systems. This Lite...