This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM6442: Create a ramdisk file system for loading linux kernel

Part Number: AM6442

Hi

I am trying to boot linux Kernel on AM64 evaluation board. The problem is I don't have any file system that is required for linux. I need the steps to build a ramdisk file system and use it as root file system. If you have the steps to create a ramdisk file system and load it to boot from U-boot kernel, do post here. 

Thanks

Himansu

  • Himansu,

    The Processor SDK for the AM64x includes two different file systems that you can load over SD Card on the evaluation board. They are probably a little large to use as initramfs.

    if this doesn't meet your needs, maybe you can describe a bit more what you are trying to accomplish and we will do our best to help.

  • RonB

    The main issue is I am working remotely due to the covid situation and I don't have an SD card on the board. Hence can't use that option. I thought of using NFS but  I am using a Windows host PC and did not find any particular procedure to use NFS on Windows. So I think I am left with only 1 option and that is to use RAMDISK file system. I have never done it before. It would be great if you could help. Any other idea of booting up Linux kernel are also welcome. 

    Thanks for the reply

  • OK, I understand.

    Can we take this one step at a time?

    Can you try this process to make sure you can boot to U-Boot prompt from UART?

    3.2.1.6. UART — Processor SDK AM64X Documentation

    If you can do this, we can then explore the best way to get the kernel up and to an initramfs.

  • Yes, I am able to get U-boot prompt from UART.

  • Excellent.

    Give me another day or so to try to put together some resources to see about using a ramdisk. Thanks.

  • Actually, if you could give me some insight into what kind of development you will be doing (kernel drivers, applications (user space), etc.) that would help me provide a better starting place. The main issue here being the size of the filesystem needed. For example, for application development, you may need a more complete filesystem depending on what you need to do. For kernel development, a tiny filesystem will usually suffice.

  • We will mostly be doing application development. My plan is to boot kernel initially with a small filesystem that can be accommodated in RAM and once we are in the kernel we can format the EMMC and make partitions and load the complete filesystem provided in the SDK to EMMC. What do you think?

  • I like the direction and we are trying to support this better in the near future by providing such a filesystem with the SDK. That should be coming at the end of this month.

    Til then, I would recommend building core-image-minimal from Yocto to see if that has what you need. You can easily convert this to a initramfs and build it into the kernel (zImage). Use either UART or network to copy this and DTB to ram to boot Linux without an SD card. Then you can copy and write eMMC as you'd like. I'm not sure core-image-minimal has everything you need for partitioning and writing filesystems, so you may need to add a few binaries to that image.

    So, this is a good direction and we will have more help in the future. I hope this helps get you up and running in the mean time.

  • I did not get what core-image-minimal you are talking about, how is this built and how can we use it as initramfs. If you have any procedures please share.

  • You would need to build it using Yocto? Have you used Yocto to build custom images? The process is documented here.