What code loads kernel modules at boot?

Lee D embaudarm at gmail.com
Thu Apr 18 00:53:58 UTC 2019


A couple of years ago I wrote a FreeBSD bootloader for Zynq (Arm32).
It's been working well, but now I need to add the ability to load
kernel modules at boot.  This is for 11.0.1 (updating to 12 soon,
hopefully).

Can anyone point me to the code that actually loads a kernel module
for arm?  I got lost reading the source in /src/sys/boot/common, and
can't quite figure out what routine is actually called.

I assume I need to parse the sections out of the .ko file and place
them carefully in memory, like I do with the kernel image.

Also, if you're feeling loquacious, where do I put the darn thing and
how do I tell the kernel how to find it (part of the MODINFO stuff I
assume)?

This is all in the context of loading custom real time clock and I2C
drivers so they are available at boot time.

Thanks,

Lee


More information about the freebsd-hackers mailing list