Since we use the Android-x86 kernel and HAL for x86vbox, we will further analyze about the start-up process of x86vbox in this section. From the analysis, we can understand how Android-x86 supports multiple devices using one codebase. You can review the two-stage start-up process that we discussed in Chapter 6, Debugging the Boot Up Process using a Customized ramdisk. We will work on a more detailed analysis on top of that introduction now.
The kernel of Android-x86 is different from the kernel that we used in Chapter 6, Debugging the Boot Up Process using a Customized ramdisk for emulators. The Android-x86 kernel does not have any idea about what hardware interfaces it needs to support, so it builds as many device drivers as possible with it. On the other hand, the goldfish kernel does know what hardware it needs to support. This difference means they are built in two different...