Jump to content
  • 0

Booting the Linaro filesystem on Zybo


mikemcg

Question

I'm a newbie to embedded development. I've worked through the linux hands on tutorial and have been successful at bringing up linux on the ramdisk as per the tutorial.

 

What I really want is a ubuntu desktop working on the Zybo board. I have loaded the Linaro filesystem onto the sd card (as per the zed board examples) but still the Zybo insists on trying to load from a ramdisk.  I have changed the chosen bootargs in the devicetree to

 

bootargs = "console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait devtmpfs.mount=1"

 

Is there something else I need to do in say the config file or uboot.elf to get it to use the filesystem from the ext4 partition rather than the ramfile?

 

In using Vivado 2014.4 and SDK 2014.4.

 

Thanks Mike.

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

Hi Mike,

 

I'm on a work trip right now, so I don't have the time/access to properly post all of the sources for that project, but I can get you the Vivado project and devicetree. You will need to ignore the warnings on the Vivado project, it has not been cleaned fully. I've posted them on dropbox here:

 

Vivado project: https://www.dropbox.com/s/8ldvbwd66k0i94d/zybo_bsd_hdmi.zip?dl=0

Devicetree source: https://www.dropbox.com/s/ilwddtkzn2gdcmj/zybo_robot_dts.zip?dl=0

 

Inside of the sdk folder in the vivado project you will find a bootgen folder that contains u-boot.elf, so you can regenerate boot.bin if you modify the vivado project.

 

You will have to use the prebuilt kernel for now that is included with the robot project, because it contains the custom video driver for which the source has not been posted yet. Unfortunately the driver requires an EDID packet,  so it only works with HDMI. This will be changed before the source gets posted.

Link to comment
Share on other sites

Hi Mike, 

 

I'm unsure about the problem you're having, but I would suggest checking out this tutorial about setting up the Ubuntu on the ZYBO: http://www.instructables.com/id/Setting-up-the-Zybot-Software/?ALLSTEPS

 

In particular, Step 6 has the boot files that are needed to run Ubuntu after you have everything else ready.

We are also going to be writing a new embedded systems tutorial designed specifically for the ZYBO, so stay tuned!

 

-Josh

Link to comment
Share on other sites

Thanks Josh.

 

I tried that and it boots linaro very nicely (although I could only get it to work with HDMI and not VGA).

 

My problem is that it's using pre-canned boot.bin, uImage and devicetree.dtb . For my project I'm designing AXI peripherals that will be resident in the FPGA so I need to generate my own kernel loaders etc.  So far I have been able to get the filesystem contained in the ramImage loaded after following the tutorials but I have not been able to get the filesystem to load from the ext4 partition on the sdcard.

 

I think I need to change more than the devicetree.dts bootargs above to pull this off but I haven't figured out (after more than 10 days of learning linux booting) what else I need to change over the zybo_base_system setups.  For now I'd settle for just bringing up the reference design and just building/modifying the boot.bin, uImage and devicetree.dts files.  I have been able to build all of them just I can't get the system to load from the ext4 partition.

 

Any help on that would be appreciated.

 

Best Mike.

Link to comment
Share on other sites

Hi Sam,

 

Thanks so much, that really helped. I was able to build it from scratch and boot into Ubuntu. I can get back to my own design....

 

BTW I'm not using VGA so the HDMI is fine for me.

 

Anyway, much appreciated, Mike

Link to comment
Share on other sites

Hi,

 

Any update ?

 

By the way, I'm using a 4 GB SD Card and something is filling up my SDc until saturation : /dev/root Use = 100%. After that, the system won't boot.

 

Thus, I'm wondering if that's the reason why you have used a 8 GB SDc. The results are the same for 2 different filesystems of Linaro.

 

Best

Mendeln

Link to comment
Share on other sites

Hi,

 

Any update ?

 

By the way, I'm using a 4 GB SD Card and something is filling up my SDc until saturation : /dev/root Use = 100%. After that, the system won't boot.

 

Thus, I'm wondering if that's the reason why you have used a 8 GB SDc. The results are the same for 2 different filesystems of Linaro.

 

Best

Mendeln

To boot Linux using the Linaro filesystem how we did, use an 8 GB microSD Card. 4 GBs is going to be too small.

 

-Josh

Link to comment
Share on other sites

Hi Josh,

I managed to install ArchLinux, Debian, Ubuntu, and Linaro on the Zybo. And using your precompiled Kernel I got the HDMI video output on custom designs with custom peripherals. Unfortunately, the kernel that you used (and also the u-boot) doesn't work for my particular needs, so I re-built them, and of course I lost the HDMI output, but I'm using SSH now so it's not a big deal, but I wanna get it working.

I activated the AXI clkgen driver, the Digilent axi_dynclk Driver, the Xilinx DRM, and the Digilent VGA/HDMI DRM Encoder driver on the kernel configuration, but I did not managed to get the HDMI working... So I'm guessing that something is missing. Which drivers are necesary to build with the kernel to get the HDMI output? I added everything I think was necesary but with no success.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...