Walleij: Setting up the Arm32 architecture
For those who are following along with Linus Walleij's detailed writeup ofhow the 32-bit Arm bootstrap process works, he has posted two newinstallments (part 1,part 2)on what happens once virtual memory is enabled. "This init task istask 0. It is not identical to task 1, which will be the init process. Thatis a completely different task that gets forked in userspace later on. Thistask is only about providing context for the kernel itself, and a point forthe first task (task 1) to fork from. The kernel is very dependent oncontext as we shall see, and that is why its thread/task information andeven the stack pointer for this 'task zero' is hardcoded into the kernellike this. This 'zero task' does not even appear to userspace if you typeps aux, it is hidden inside the kernel."