UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Contributor
Contributor
7,489 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
Adventurer
Adventurer
7,477 Views
Registered: ‎06-10-2014

Re: Rebuilding exisiting linux kernel on hardware(microzed zynq)

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
Contributor
Contributor
7,466 Views
Registered: ‎09-24-2015

Re: Rebuilding exisiting linux kernel on hardware(microzed zynq)

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