open source linux faq

Will the kernel boot with a console if the hardware is not using an interrupt for the UART?

OK, maybe this is not a faq, but I wanted to put this here so it doesn't get lost. The console will work without any interrupt on the UART as I verified it with the 16550. This makes sense since the console code looks like polled I/O.

Can drivers be built into the kernel when there's no hardware IP to support them?

With device tree (arch/powerpc), yes drivers can be compiled into the kernel without associated hardware IP as long as the device tree is in sync with the hardware. The kernel parses the device tree to determine what drivers to start up. The only concern might be that the kernel is a little bigger and takes longer to build because more drivers can stay built into it.

Why can't I see the kernel command line and edit it before the kernel console output?

With the device tree, the UART baud is specified in the device tree in 2 places. 1. in the boot args of the kernel 2. in the UART. If these baud rates disagree then the bootstrap loader will be using the baud rate from the UART and the kernel will be using the baud rate specified on the boot args (command line) of the kernel. Make them agree for easiest operation. Ideally we would enhance the device tree generator to take this into account.

When I do make menuconfig and then build the kernel it asks me lots of config questions and then the kernel doesn't run.

You probably forgot to specify ARCH=powerpc with menuconfig.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License