Last night as I was drifting off, I was looking for evidence that people want to use Grub with the Intel e1000 network driver that I have on my computer. And, yes, it is true--not only did people want it--one guy was desperate for it.
I found some files at a site and copied them into a directory in my patch directory. The driver files were simply added to my netboot directory where they all are. The rest of it was makefiles. I found it easier to just modify them according to the patterns--all drivers essentially have the same patterns in the makefile. The exception being that this driver requires one more command line define so I had to make sure it was in the right places. The config.c file had to get all of these strings that describe the driver in English for users to read.
Then I had to wrestling with the configure files. Grub lets you set up makefiles with ./configure with options. I was getting problems there until I did a make clean. Then, the makefiles were setup properly.
Next, I typed 'make' and held my breath.
It wouldn't be Linux if it compiled the first time, right? I needed to add definitions for uint32_t, uint16_t, uint64_t, uint8_t and int32_t. Easy enough, although I had to check /usr/includes/limits.h to confirm that an unsigned uint64_t would be an unsigned long long.
There were a couple of PCI constants that needed copying from the patch. And I needed to get rid of an __unused in an argument list. After that it compiled!
Woohoo! But will it run?
It runs! I typed 'bootp' and...
Error 12: Invalid device requestedSigh. Well, this is going to take some effort to solve. So, my solution (or white flag) will be in a future post...
No comments:
Post a Comment