-
64bit-os-tutorial
This OS Tutorial expands on the fundamental concepts covered in cfenollosa/os-tutorial and covers entering long mode on the x86_64 architecture. It also uses clang rather than relying on an external crosscompiler. I plan on keeping it up to date, so feel free to submit an issue!
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
So I have been following this tutorial on writing a 64-bit OS from scratch. At this point, they show how to build and link to a basic C kernel, which is all good, but I would rather write it in C++. However, after trying to modify the makefile to compile C++ files (by changing the compiler to clang++ and changing all the .c to .cpp), as well as putting extern "C" in front of the main() function , I get an error from ld saying ld.lld: error: undefined symbol: main. I understand that there are things lacking in my build process, but I can't find which ones; is it some flags I am missing, or a more involved set of build commands ? I really would like to stick to clang/LLVM, if possible, rather than cross-compiling with GCC.