What is Linux?
-
An operating system.
-
It is common to refer the operating system as the Linux kernel.
-
It is the software preparing and managing the system resources (cpu, memory, devices) for programs execution.
-
It creates the abstraction our mind works with easily: the process abstraction. Your app or program relies on this abstraction.
-
It offers an interface for easily using the available resources: no haxadecimal offsets, no knowledge of devices intrinsics.
-
It manages the available resources for processes sharing it without explicit awareness.
-
All this implies two key aspects: security and execution latencies.
-
The software is open source. No black box functionality. You can modify/adapt it.
What is Embedded Linux?
-
We have had products based on microprocessor for decades.
-
Nowadays those microprocessors can have in the same die multiple controllers for memory, communication buses, networking, sensors ...
-
... at a price it makes sense to put it in almost every modern product. This is called a microcontroller.
-
With microprocessor-based products come software.
-
Programs/apps executed as processes by operating systems adds a huge flexibility.
-
Each product using a microprocessor/microcontroller is specifically designed: functionalities and costs matter.
-
A microprocessor-based system is by definition unique.
-
To put Linux in the system is to embed Linux in such a system ...
-
... where you can have full control about what happens there.
What is GNU Linux?
-
An operating system without programs being executed is not really helpful.
-
The Linux kernel will create those processes from those programs you put in your Embedded Linux.
-
GNU Linux refers to all the software base Linux system rely on and which are open source as well.
-
Your Embedded Linux system will have a Linux kernel using these GNU programs ...
-
... which creates the final environment where your specific implemented application will be executed.
What is this about
Teaching about Embedded Linux. Follow up trainings for Linux device drivers, Linux real time programming, Linux networking and Linux security.
We offer an
emulation framework for focusing on the specific training from minute one: no virtual machine(VM) to install, no specific software installation, no cables between your board and the system/VM you need to use for development ... no physical board to buy either. All those requirements for starting to learn are not a problem with Hackabone. If you keep working with Embedded Linux, you will end up doing all that, but you will then know what you need and what to do for getting your Embedded Linux System running.
Does Hackabone mean something?
To
Hack-a-Bone.
Because learning requires to apply the concepts, we have exercises with the Beaglebone board as the real system to work with. The hack is because we will keep improving the documentation and detailed docs about how Uboot and, mainly, the Linux kernel, work with the Beaglebone, and the options available for working with that board during development and in production.
Why not a Raspberry PI? Because although it was supposedly designed for learning about hardware and open source software, it is arguably not a good option for beginners. First, you have an GPU which makes things more complex for understanding how the system boots, and sadly the code and documentation about how it works is not public. Secondly, the documentation from Broadcom about the microcontroller is not as good as the am335x documentation from Texas Instruments. Yes, an RPI is more powerful than a Beaglebone, but you dont really need that for learning: the simpler the better. Last but not least, an RPI is slightly cheaper than a Beaglebone, but with the emulation framework you do not need to buy any board at all. Finally, most of the training is generic to Embedded Linux, so the details will change when you apply all the learning in your project, maybe an RPI ... .
Is this free?
Just some bits. Some parts of the documentation about Embedded Linux is available once you register as a guest (the default registration). But full documentation, access to the exercises framework, and the possibility of interacting inside the website, requires
to be a contributor. You pay for the training documentation and the use of an emulation framework with access to two different virtual machines, one for development, one for emulating the Beaglebone board and executing the code you specifically build in your development machine.
Note depending on the number of concurrent users, guests access could be denied temporarily.
We consider the contributor payment should not be an impediment for someone really motivated for lerning about Embedded Linux. Moreover, the emulation framework helps to work with a real board without buying one. Of course, you can do that, but it is not so simple. You need to install a good bunch of software for building up your embedded Linux system, and this is usually done with a Virtual Machine. Setting up a VM yourself means to install all the required software to work with, messing up with cables and connections between the board and the VM (serial, network, SD) ... is not rocket science but it takes time. We offer a solution for starting to work in the training goal from the moment you decide this is for you. In other words, we offer you the possibility to start working on the training specifics without delays because the framework required needs to be built first. We think this is a real barrier for most of the potential students we have in mind, and we hope we can solve that first barrier with our emulated framework through a web interface.
Do I have a teacher to talk to?
No. This is not that kind of online training. We will do our best answering questions, doubts, sugerences, and we expect
contributors to improve the contents and even to add new ones. There is an author and a maintainer per main section, and you can become in one of them. We do not know yet how we should do this, but for sure, we will not be the only ones having a say when promoting contributors.
Main contributors and last contributions will appear in the main website. This can be good for your career (universities are welcome).
Do you give a certificate?
Not yet. This would imply we can assess a student did all the training exercises and maybe some final test. Because the emulated framework, the work you do in your emulated Beaglebone can be easily shared with the certifiers. We do not want to be the only ones assessing a student/contributor is mastering the teaching contents, so the idea is to offer a certification framework to universities or companies. Contact with us if you could be interested in this possibility.
I love your logo. Can I get a T-shirt and that kind of stuff?
Coming...