eli wrote:Hello,
In order to compile a kernel module, I suggest relying on the kernel source headers that are already on Xillinux' file system. In fact, you can compile the module natively on the ARM processor running Xillinux. If you want to cross-compile the module on a PC, you can copy the entire directory, and compile your module against it.
However if you insist on compiling the kernel yourself, please refer to the README file in /usr/src/xillinux/, which outlines how to obtain the exact kernel used with Xillinux. It's very recommended to reconstruct the exact kernel, even though I wouldn't rule out the possibility that a kernel module that was compiled on a similar kernel would work anyhow.
Regards,
Eli
eli wrote:Hmmm... It seems like they are using non-standard compilation scripts. I can only make wild guesses on what these values should be. For example, there is probably no problem leaving ARCH as arm, but CROSS_COMPILE should probably be gcc or just empty.
For something better than wild guesses, I suggest looking closer at those scripts / makefiles.
It's a bit of trial and error. Given that the suite is intended for cross compilation, maybe copy the kernel headers from Xillinux' file system and cross-compile on the PC. Whatever is less of a headache.
Regards,
Eli
rockstar92 wrote:eli wrote:Hmmm... It seems like they are using non-standard compilation scripts. I can only make wild guesses on what these values should be. For example, there is probably no problem leaving ARCH as arm, but CROSS_COMPILE should probably be gcc or just empty.
For something better than wild guesses, I suggest looking closer at those scripts / makefiles.
It's a bit of trial and error. Given that the suite is intended for cross compilation, maybe copy the kernel headers from Xillinux' file system and cross-compile on the PC. Whatever is less of a headache.
Regards,
Eli
Before doing this, i found out that I have enable wlcore_sdio in the kernel config file. So when I did cd /usr/src and typed in make menuconfig, i got an error. So, I downloaded the source git clone https://github.com/Digilent/linux-Digilent-Dev.git
And then went into this folder, and typed make menuconfig. I was able to change wlcore_sdio to a a module. After that i saved the file as .config. I typed in make, and its been 4 hours and its still compiling on the microzed.
So, i thought its better to cross compile on ubuntu system. So, I just download the sources from git clone https://github.com/Digilent/linux-Digilent-Dev.git and then enter into the folder and cross compile, right ? Am I missing anything here ?
Also, do i need to install any special tools for cross compilation ?
rockstar92 wrote:rockstar92 wrote:eli wrote:Hmmm... It seems like they are using non-standard compilation scripts. I can only make wild guesses on what these values should be. For example, there is probably no problem leaving ARCH as arm, but CROSS_COMPILE should probably be gcc or just empty.
For something better than wild guesses, I suggest looking closer at those scripts / makefiles.
It's a bit of trial and error. Given that the suite is intended for cross compilation, maybe copy the kernel headers from Xillinux' file system and cross-compile on the PC. Whatever is less of a headache.
Regards,
Eli
Before doing this, i found out that I have enable wlcore_sdio in the kernel config file. So when I did cd /usr/src and typed in make menuconfig, i got an error. So, I downloaded the source git clone https://github.com/Digilent/linux-Digilent-Dev.git
And then went into this folder, and typed make menuconfig. I was able to change wlcore_sdio to a a module. After that i saved the file as .config. I typed in make, and its been 4 hours and its still compiling on the microzed.
So, i thought its better to cross compile on ubuntu system. So, I just download the sources from git clone https://github.com/Digilent/linux-Digilent-Dev.git and then enter into the folder and cross compile, right ? Am I missing anything here ?
Also, do i need to install any special tools for cross compilation ?
SO, I managed to compile the kernel on the microzed in 8 hrs. But then I typed in make modules_install and make install
and rebooted. But still I'm not able to find the wlcodre_sdio which I enabled as a module in the kernel before compiling. When I type modprobe wlcore_sdio , it gives an error saying not found.
When go into the boot directory, i can find a new config file created called, config-3.12.0 in which I see WLCORE_SDIO=m. But there is this original configuration file (config-3.12.0-xillinux-1.3) in which the wlcore_sdio is not set. Also, there are initrd.img-3.12.0 and vmlinuz-3.12.0 files created in the boot directory.
Am I doing something wrong here ? Do i need to copy the vmlinuz-3.12.0 to the SD card or something ?