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.
Tool/software:
From 4.1.11.4 of How to Guides of PSDK-Linux :
It is recommended to use a tiny intermediate filesystem that can be used to run applications early with minimal configuration and then mount into a filesystem with full functionality. For this purpose, the installer packages a filesystem: <PSDK_PATH>/filesystem/<machine>/tisdk-tiny-initramfs-am62xx-evm.cpio
that can be used as an initramfs.
So I booted and logged into initramfs but the document doesn't say anything on how to mount into a full filesystem after that , can you please help me that ?
and also if i follow the steps mentioned further below , i.e. Remove startup scripts , package manager, console logo from the tiny filesystem i am not able to even login , but if use the cpio archive as it is (without modifications) i can log in , what's that about ?
Hi,
So I booted and logged into initramfs but the document doesn't say anything on how to mount into a full filesystem after that , can you please help me that ?
Implementing a filesystem including the modules as required for your use-case is upto the customer. The boot time has been tested with the initramfs only.
and also if i follow the steps mentioned further below , i.e. Remove startup scripts , package manager, console logo from the tiny filesystem i am not able to even login
There could be permission issues in the login script. Could you try the following command: sudo chmod -vR 777 <filesystem>/*
Regards,
Aparna
Implementing a filesystem including the modules as required for your use-case is upto the customer. The boot time has been tested with the initramfs only.
Yes I understand that but I want to ask can you help me with how to mount into full filesystem after booting into initramfs ? let's say linux(arago project yocto )
Hi Atharv,
The following is an example of how to load the full filesystem present on the SD card (remember to enable MMC config in the ti_early_display.config)
Under sbin/init:
mount -t proc none /proc mount -t sysfs none /sys sleep 5 mount -t devtmpfs dev /dev ls /dev/ >> /tmp/log 2>&1 echo "ls dev" $? >> /dev/ttyS2 ls /dev/mmcblk1p2 >> /tmp/log 2>&1 mount /dev/mmcblk1p2 /mnt/ echo "Mount FS:" $? >> /dev/ttyS2 umount /proc umount /sys exec switch_root /mnt/ /sbin/init
The ls and echoes have been added for debug purposes. The sleep was necessary to ensure the mount for devtmpfs worked properly.
Regards,
Aparna
thanks, it works , This init mounts the full filesystem but display doesn't come up (actually when booting only initramfs , then also display doesn't work)
which was the main objective for us , bringing up display as soon as possible , so how can i do that ? how to make initramfs bring up display ? and also is there any way to avoid the sleep of 5 seconds ?
how to make initramfs bring up display ?
Please if this helps: https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/10_00_07_04/exports/docs/linux/How_to_Guides/Target/How_to_boot_quickly.html#additional-notes
also is there any way to avoid the sleep of 5 seconds ?
That is essential to make sure the filesystem is mounted properly.
Regards,
Aparna
That is essential to make sure the filesystem is mounted properly.
All right.
And 4.1.11.6. note is for OLDI panel , I need to bring up LCD (RGB) Panel , which we are able to do when there's only full filesystem. So can you tell me how to do the same with this little one.
Regards,
Atharv Shendage
And 4.1.11.6. note is for OLDI panel , I need to bring up LCD (RGB) Panel , which we are able to do when there's only full filesystem. So can you tell me how to do the same with this little one.
Hi, I have to check with the team if we support this request. Meanwhile I will route your query to the display driver expert.
Regards,
Aparna
Hi,
You mentioned that you are able to bring up DPI when you have full filesystem and have you tried to integrate those changes into the above minimal Kernel? If yes, what errors do you run into?
Regards,
Krunal
Yes , After making display changes , I copied those dtb and modules into tinyfs and then with CONFIG_INITRAMFS_SOURCE = "Path_to_tinyfs " again build the Image,dtb and modules, copied those over , but in booting following error occurred , so i changed fdtaddr and booted the device , it worked.
Importing environment from mmc1 ... 117727744 bytes read in 4553 ms (24.7 MiB/s) 55920 bytes read in 9 ms (5.9 MiB/s) ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 ERROR: FDT image overlaps OS image (OS=0x82000000..0x890f0000)
but how do i make sure that display has started when minifs is booted ? I guess minifs doesn't show anything like arago project or weston on display , aslo I am mounting into full fs just after that.
Also how do i keep only essential modules for display in minifs's lib folder because not only it is taking larger space but also booting time for minifs is affected significantly. In other words how to efficiently integrate the changes ?
Hi,
I guess I am a little confused and are you saying DPI display works or you still get an error?
Additionally, there is no splash in the minimal fs so it makes sense that no startup screen is observed. Our goal was to show a minimum usecase and customers can modify as they desire.
Regards,
Krunal
#SET CONFIG_INITRAMFS_SOURCE="" $sudo make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" Image $sudo make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" ti/k3-am625-sk.dtb $sudo make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" modules $sudo cp arch/arm64/boot/Image ~/path_to_minifs/boot/ $sudo cp arch/arm64/boot/dts/ti/k3-am625-sk.dtb ~/path_to_minifs/boot/ $sudo make ARCH=arm64 INSTALL_MOD_PATH=~/path_to_minifs modules_install #SET CONFIG_INITRAMFS_SOURCE="path_to_minifs" $sudo make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" Image $sudo make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" ti/k3-am625-sk.dtb $sudo make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" modules $sudo umount /dev/sda2 && sudo mount /dev/sda2 ~/mnt $sudo cp arch/arm64/boot/Image ~/mnt/boot/ $sudo cp arch/arm64/boot/dts/ti/k3-am625-sk.dtb ~/mnt/boot/ $sudo make ARCH=arm64 INSTALL_MOD_PATH=~/mnt modules_install
In line 16 image that i copied is now 111mb instead of 37mb, that's why got that overlap error which was solved by changing the fdtaddr, it's not a issue now.
I am asking in line 5 and 8 , how can I install modules required only for display and do i need to copy the Image to minifs or dtb and modules are enough ? This is so that my final Image size is low and also the boot time
and how do i check if minifs is really starting display ? (since it has no flash screen ) can i run " cat image.rgba > /dev/fb0 " in sbin/init script.
From display perspective, you just need CONFIG_DRM=y, CONFIG_DRM_TIDSS=y and CONFIG_DRM_PANEL_SIMPLE=y and that will install all the necessary display modules. Next, create an Image with Kernel, DTB, modules and FS objects and copy the Image to the boot directory of the root partition.
With regards to /dev/fb0, it should work but you need to add support for fbdev and I don't think we enable fbdev for minimal filesystem. It will require some trial and error since we have not tested the above usecase.
Regards,
Krunal