Skip to content

Commit a50f9e6

Browse files
committed
fix(linux): Update boot time guide
- Fix RST syntax and formatting issues - Update steps for early display testing steps with OLDI panel - Update modetest integration for display at boot - Improve filesystem setup documentation Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
1 parent 6448b30 commit a50f9e6

1 file changed

Lines changed: 74 additions & 26 deletions

File tree

source/linux/How_to_Guides/Target/How_to_boot_quickly.rst

Lines changed: 74 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,6 @@ In order to package the filesystem as initramfs into the kernel, follow these st
317317
$ cd output
318318
$ cpio -idv < tisdk-tiny-initramfs-am62xx-evm.cpio
319319
320-
321320
2. Edit the kernel config:
322321

323322
.config:
@@ -335,7 +334,13 @@ In order to package the filesystem as initramfs into the kernel, follow these st
335334
General setup ->
336335
Initial RAM filesystem and RAM disk (initramfs/initrd) support ->
337336
Initramfs source file(s)
338-
/path/to/filesystem
337+
/path/to/filesystem or cpio file
338+
339+
Both cpio or filesystem path can be passed to "Initramfs source file". If providing a filesystem path directly, ensure required files and folders are executable. Or make all files executable by running below command:
340+
341+
.. code-block:: console
342+
343+
host$ chmod -R +x /path/to/filesystem
339344
340345
3. Rebuild the kernel
341346

@@ -370,6 +375,15 @@ The time taken to boot filesystem is measured from Process ID 1(PID1) to login p
370375
371376
This removes 52ms from the boot up time.
372377

378+
- Convert file system to cpio file.
379+
380+
.. code-block:: console
381+
382+
host$ cd <filesystem>
383+
host$ find . | sort | cpio --reproducible -o -H newc -R root:root > ../tisdk-tiny-initramfs-new.cpio
384+
385+
Pass the new cpio file during kernel build.
386+
373387
Measurements
374388
------------
375389

@@ -630,51 +644,85 @@ Bootloader loads HSM binary (9KB), MCU/DSP image (50KB) and Kernel+FS image (22M
630644

631645
Filesytem time is measured using minicom time stamp. ( Boot Time via minicom - Kernel time by GPIO = Filesystem Time )
632646

633-
Additional notes
634-
----------------
647+
Additional Steps to Test Early Display
648+
--------------------------------------
635649

636650
.. ifconfig:: CONFIG_part_variant in ('AM62X', 'AM62PX')
637651

638652
.. note::
639653

640654
Ensure that you are not affecting your host computer when making the changes detailed below.
641-
For early display with OLDI panel, disable bridge-hdmi or sii9022 node in device tree.
642-
Also use fdtoverlay command to modify dtb file (base tree) with dtbo overlay for OLDI panel.
643655

644-
- This statically compiled :download:`modetest </files/modetest>` can be added to the filesystem to test out display at boot on an OLDI panel.
656+
- For early display with OLDI panel, disable bridge-hdmi or sii9022 node in device tree.
645657

646-
- `init` is a symbolic link to /sbin/init. Remove the file sbin/init
658+
.. code-block:: file
647659
648-
.. code-block:: console
660+
diff --git a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
661+
index e40abe7afe45..70153e592600 100644
662+
--- a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
663+
+++ b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
664+
@@ -589,6 +589,7 @@ sii9022: bridge-hdmi@3b {
665+
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
666+
#sound-dai-cells = <0>;
667+
sil,i2s-data-lanes = < 0 >;
668+
+ status = "disabled";
649669
650-
rm <filesystem>/sbin/init
670+
- Also use fdtoverlay command to modify dtb file (base tree) with dtbo overlay for OLDI panel.
651671

652-
- Create a new sbin/init and add the following.
672+
.. code-block:: console
653673
654-
.. code-block:: sh
674+
host$ fdtoverlay -v -i k3-am62p5-sk.dtb -o merged.dtb k3-am62p5-sk-microtips-mf101hie-panel.dtbo
655675
656-
#!/bin/sh
676+
Later rename merged.dtb to k3-am62p5-sk.dtb when generating linux.falcon.appimage.hs_fs.
657677

658-
mount -t proc none /proc
659-
mount -t sysfs none /sys
660-
mount -t devtmpfs dev /dev
678+
- Add statically compiled :download:`modetest </files/modetest>` to filesystem to test out display at boot on an OLDI panel.
661679

662-
# Run modetest in the background
663-
# 40 - connector ID
664-
# 38 - CRTC ID
665-
# 1920x1200 - resolution of panel
666-
(modetest -M tidss -s 40@38:1920x1200 0<&- 2>/tmp/output.log) &
680+
.. code-block:: console
681+
682+
host$ cd <filesystem>
683+
host$ cp ~/Downloads/modetest <filesystem>/usr/bin
684+
host$ chmod +x modetest
667685
668-
exec /sbin/init.sysvinit $*
686+
- `init` is a symbolic link to /sbin/init. Remove the file sbin/init
669687

670-
You can get the connector ID and CRTC ID of your OLDI panel by running :code:`kmsprint` or :code:`modetest -M tidss`
688+
.. code-block:: console
671689
672-
- Make it executable
690+
host$ rm <filesystem>/sbin/init
673691
674-
.. code-block:: console
692+
- Create a new sbin/init and add the following.
693+
694+
.. code-block:: sh
695+
696+
#!/bin/sh
697+
698+
mount -t proc none /proc
699+
mount -t sysfs none /sys
700+
mount -t devtmpfs dev /dev
701+
702+
# Run modetest in the background
703+
# 40 - connector ID
704+
# 38 - CRTC ID
705+
# 1920x1200 - resolution of panel
706+
(modetest -M tidss -s 40@38:1920x1200 0<&- 2>/tmp/output.log) &
707+
708+
exec /sbin/init.sysvinit $*
709+
710+
You can get the connector ID and CRTC ID of your OLDI panel by running :code:`kmsprint` or :code:`modetest -M tidss`
711+
712+
- Make it executable
713+
714+
.. code-block:: console
715+
716+
$ chmod +x <filesystem>/sbin/init
717+
718+
- Convert file system to cpio file.
719+
720+
.. code-block:: console
675721
676-
chmod +x <filesystem>/sbin/init
722+
host$ cd <filesystem>
723+
host$ find . | sort | cpio --reproducible -o -H newc -R root:root > ../tisdk-tiny-initramfs-new.cpio
677724
725+
Pass the new cpio file during kernel build.
678726

679727
.. ifconfig:: CONFIG_part_variant in ('AM62AX')
680728

0 commit comments

Comments
 (0)