cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
bobdxcool
Contributor
Contributor
7,992 Views
Registered: ‎09-24-2015

Rebuilding exisiting linux kernel on hardware(microzed zynq)

I have xillinux OS (based on ubunutu 12.04.LTS) installed on my hardware (microzed Board). I will add UART Lite IP Core(after removing xillybus lite core IP in device tree)  using vivado after which I need to rebuild my kernel after editing the config-3.12.0-xillinux-1.3 file in /boot folder. My question is how do I rebuild the existing kernel on the hardware after making changes to the config file
http://www.wiki.xilinx.com/Uartlite+Driver
This is the page above that I am referring to where they say that:
To enable the uartlite driver in the linux kernel you either have to integrate it or build it as kernel module (.ko). You can enable it with:

 

make menuconfig
---> Device Drivers ---> Character devices ---> Serial drivers ---> Xilinx uartlite serial port suppor

 make menuconfig - I have to enter this command on the OS running on my hardware in the /root/boot/.config folder to enable it ?
What does , ---> Device Drivers ---> Character devices ---> Serial drivers ---> Xilinx uartlite serial port support THIS MEAN ? I have to change directory ?
The other option as per the link posted above is to add certain lines as below to the config file, for which I would use the nano editor and then save it with ctrl+X and then Y.

 

# integrate into the kernel
CONFIG_SERIAL_UARTLITE=y
# build as loadable module
CONFIG_SERIAL_UARTLITE=m

 But they say that, "After that you of course have to rebuild the kernel and deploy it to your Zynq device."
Where zynq is the hardware I am running my OS on. What commands do I have to use to rebuild the existing kernel on my hardware after making changes to the .config file ?
So, after rebuilding the kernel with the changes above, I just reboot to observe the changes ?

I was referring to this link,

http://www.thegeekstuff.com/2013/06/...-linux-kernel/

So, in order to compile the exisiting kernel on the hadrware and build it, I edit the .config file in nano and save it.
Then, I type "make" in the same folder as config.
Then, I type "make modules" in the same folder
Then I type make modules_install
Then I type make install
Then I reboot the system to see the new kernel installed.

Is this the right way of doing it ?

Currently in my boot directory, there are 4 files. One config file and 3 .dts files. After rebuilding the kernel, this might change ?

0 Kudos
2 Replies
billauer
Adventurer
Adventurer
7,980 Views
Registered: ‎06-10-2014

Hi,

 

UART Lite is already supported in Xillinux-1.3. From the .config file of the kernel that is included (see /boot/config-3.12.0-xillinux-1.3):

 

CONFIG_SERIAL_UARTLITE=m

 

It's just a matter of adding the entry in the device tree.

 

Regards,

   Eli

0 Kudos
bobdxcool
Contributor
Contributor
7,969 Views
Registered: ‎09-24-2015

Thank you. So, I can just add entries to the device tree as per the wiki uart lite page. 

 

1.) But I have to replace the xillybus core with the uart lite core and create a new bit file, right ?

For which I have to remove xillybus pipe driver entries in the device tree too.

 

So, I remove

 


xillybus_lite@50002000 {
interrupt-parent = <0x2>;
interrupts = <0x0 0x3a 0x1>;
reg = <0x50002000 0x1000>;
compatible = "xillybus,xillybus_lite_of-1.00.a";
};


xillybus@50000000 {
dma-coherent;
interrupt-parent = <0x2>;
interrupts = <0x0 0x3b 0x1>;
reg = <0x50000000 0x1000>;
compatible = "xillybus,xillybus-1.00.a";
};

 

And add

 

uartlite_0@42C00000 {
compatible = "xlnx,axi-uartlite-1.02.a";
reg = <0x42C00000 0x10000>;
interrupt-parent = <&gic>;
interrupts = <0 59 4>;
clock = <100000000>;
};

uartlite_1@42C10000 {
compatible = "xlnx,axi-uartlite-1.02.a";
reg = <0x42C10000 0x10000>;
interrupt-parent = <&gic>;
interrupts = <0 59 4>;
clock = <100000000>;

};

 

2.)Now when I modified the device tree last time to enable UART 0, I had to regenerate the boot.bin file. So, now also I need to generate boot.bin again ?

0 Kudos