Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I am just starting out with writing the bootloader...so I have to use the "traps" given by the embedded bios only like that of 0x10(video) n 0x16(keyboard) etc... so the point is
when the real operating system i.e. linux kernel boots up...how does it ultimately interacts with the hardware???
does it finally use the bios interrupts to communicate with the hardware??
it does something else..i mean when i issue an int 0x80 trap in the linux assemly i.e. make a system call..what next happens???
my reference to BIOS means that any of the BSP sort of thing...like in the embedded devices...
just like the bios which provide with the traps to interacts with the hardware..so are the BSP, they also provide the APIs for the same...
am I right?
so, how does the kernel adjusts itself with so many different architectures and different motherboard setups???
I googled out and gt something like "HAL" ..hardware abstraction layer....
I am still not getting the part where the kernel adjusts with all the motherboads out there in the market...i mean normally we simply install the linux, dont care about the board n all for pc...
The kernel doesn't adapt for any motherboard out there. In fact, the kernel doesn't care about the motherboard at all. The kernel looks for hardware devices it knows, like video chips, sound chips, disk controllers, ... .
These devices can be simply determined using their PCI ID or USB ID.
You probably need to spend about a solid week readingall of the documentation in the Linux kernel "arch" directories, and the source-code thereof. Grab the source of an existing loader such as LILO or Grub and systematically read through everything. You're repeating prior work here, not re-inventing it.