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.

[参考译文] AM625:如何删除内核日志

Guru**** 2379380 points
Other Parts Discussed in Thread: AM625
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1501045/am625-how-to-remove-kernel-logs

器件型号:AM625

工具/软件:

您好 TI

我们使用的是 Yocto SDK 9.0

您是否可以指导如何在启动过程中删除所有内核日志?

在控制台上、我们不想显示内核日志、而是只在登录提示时显示、如下所示。

我们尝试如下修改 U-boot 和内核 、但内核日志仍然存在。

u-boot、我们添加了 logvel=0、   

Paul@43Server:~/300G_HDD/ti_am62x/build/arago-tmp-default-glibc/work/am62xx_evm_k3r5-oe-linux-gnueabi/u-boot-ti-staging/1_2023.04+gitAUTOINC+2409890ead-r0.pgit3-oe-linux-gnueabi/u-boot-cat/k3-arm-cat-k3-boot-cat/k3-arm-cart-sk3-boot-cart.cdtk3-arm.dtk3 | common/dtmp-boot-cart-sk3
bootargs ="console=ttyS0115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 root vt.global_cursor_default=0 vt.color=0x00 loglevel=0 quiet systemd.show_status=0 rd.udev.log_priority=0 ";

内核、添加了引导参数和 CONFIG_CMDLINEx

Paul@43Server:~/300G_HDD/ti_am62x/build/arago-tmp-default-glibc/work-shared/am62xx-evm/kernel-source$ cat arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | grep bootargs
bootargs ="console=ttyS0115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 root vt.global_cursor_default=0 vt.color=0x00 loglevel=0 quiet systemd.show_status=0 rd.udev.log_priority=0 ";

Paul@43服务器:~/300G_HDD/ti_am62x/build/arago-tmp-default-glibc/work-shared/am62xx-evm/kernel-source$ cat arch/arm64/configs/defconfig
CONFIG_CMDLINE="CONSOLE=ttyS0115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait vt.global_cursor_default=0 vt.color=0x00 loglevel=0 quiet systemd.show_status=0 rd.udev.log_priority=0
CONFIG_CMDLINE_OVERRIDE=y

内核日志:

e2e.ti.com/.../3036.kernel_5F00_log.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Paul:

    查看内核引导日志中打印的内核命令行设置、它没有您添加的所有新参数。

    [0.000000]   内核命令行:console=ttyS2115200n8 earlycon=ns16550a,mmio32,0x0000mtdds=spi-nand0:spi(ospi.tiboot3)@、2m(ospi.tispl)@、4m(ospi.u-boot.

    [引述 userid="606011" url="~/support/processors-group/processors/f/processors-forum/1501045/am625-how-to-remove-kernel-logs

    u-boot、我们添加了 logvel=0、   

    Paul@43Server:~/300G_HDD/ti_am62x/build/arago-tmp-default-glibc/work/am62xx_evm_k3r5-oe-linux-gnueabi/u-boot-ti-staging/1_2023.04+gitAUTOINC+2409890ead-r0.pgit3-oe-linux-gnueabi/u-boot-cat/k3-arm-cat-k3-boot-cat/k3-arm-cart-sk3-boot-cart.cdtk3-arm.dtk3 | common/dtmp-boot-cart-sk3
    bootargs ="console=ttyS0115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 root vt.global_cursor_default=0 vt.color=0x00 loglevel=0 quiet systemd.show_status=0 rd.udev.log_priority=0 ";

    [/报价]

    这些新的日志级别控制设置应转到" args_all "变量、该变量位于 U-Boot board/ti/am62x/am62x.env 文件中。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Bin Liu

    感谢您的指导方针。  

    我们修改了 U-Boot 的 args_all、它会影响 内核命令行;大多数日志不会显示在控制台上、但仍会保留。  

    1)如何删除/隐藏剩余/全部日志?

    2)似乎 U-boot 传递/提供引导参数到内核;在 Falcon 模式下, tispl-falcon.bin->kernel(Image)我们不会使用 u-boot。

      要隐藏内核日志、是否可以直接在内核中应用 args? 还是将其应用于 tispl-falcon.bin?   

       在内核中,我们尝试按如下所示在 DTS 和解构中添加,但它不起作用。

       DTS:

       选择了{
         stdout-path ="SERIAL2:115200n8";
         bootargs ="console=ttyS0115200n8 loglevel=0 quiet rootdelay=0 vt.global_curser_default=0 vt.color=0x00 systemd.show_status=0      rd.udev.log_priority=0 ";

        }

       arch/arm64/configs/defconfig:

        CONFIG_CMDLINE="CONSOLE=ttyS0115200n8 loglevel=0 quiet rootdelay=0 vt.global_cursor_default=0 vt.color=0x00 systemd.show_status=0 rd.udev.log_priority=0 "
        CONFIG_CMDLINE_OVERRIDE=y
        CONFIG_PRINTK=n
        CONFIG_EYEAR_PRINTK=n
        CONFIG_DEBUG_INFO = n

        

       root@am62xx-EVM:~# zcat /proc/config.gz | grep CMDLINE
       CONFIG_CMDLINE="CONSOLE=ttyS0115200n8 loglevel=0 quiet rootdelay=0 vt.global_cursor_default=0 vt.color=0x00 systemd.show_status=0 rd.udev.log_priority=0 "

    ========= U-Boot 中的当前修改========

    diff --git a/board/ti/am62x/am62x.env b/board/ti/am62x/am62x.env
    索引7b5d506686f..7f0f6b6df5e 100644
    -- A/board/ti/am62x/am62x.env
    ++ b/board/ti/am62x/am62x.env
    @@-19、8 + 19、10 @@ findt=
    setenv fdtfile ${NAME_FDT}
    name_kern=Image
    console=ttyS2115200n8.
    -args_all=setenv optargs ${optargs}earlycon=ns16550a、mmio32、0x02800000
    -${mtdparts}
    +args_all=setenv optargs ${optargs}\
    +${mtdparts}loglevel=1 quiet \
    + vt.global_cursor_default=0 vt.color=0x00 \
    + systemd.show_status=0 rd.udev.log_priority=0
    run_kern=booti ${loadaddr}${rd_spec}${fdtaddr}

    BOOT=MMC

    ====>打开电源、 剩余的日志======

    U-Boot 2023.04-g24098ea90d (2023年7月6日- 12:59:40 +0000)

    SoC:AM62X SR1.0 GP
    型号:德州仪器(TI) AM625 SK
    EEPROM 在80时不可用、尝试在81处读取
    读取0x51处的板载 EEPROM 失败- 1
    DRAM:2 GiB
    内核:67个器件、29个类、器件树:单独
    MMC:MMC@fa10000:0、MMC@fa00000:1
    从无处加载环境... 好的
    EEPROM 在80时不可用、尝试在81处读取
    读取0x51处的板载 EEPROM 失败- 1
    网络:eth0:以太网@8000000port@1.
    按任意键停止自动引导:0
    切换到分区#0、确定
    mmc1是当前设备
    SD/MMC 位于器件1上
    加载'boot.scr'失败
    在14ms (40KiB/s)内读取574个字节
    已从 uEnv.txt 加载 env
    正在从 mmc1导入环境...
    ##错误:"main_cpsw0_qsgmii_phyinit"未定义
    21654016字节、在957 ms (21.6 MiB/s)内读取
    在19ms (2.9MiB/s)内读取58770字节
    工作 FDT 设置为88000000
    ##展开的设备树 blob 为88000000
    使用位于0x88000000的 FDT blob 进行引导
    工作 FDT 设置为88000000
    错误:保留 FDT 内存区域失败(addr=ff700000 size=8ca000 flags=4)
    正在将设备树加载到000000008fee000、结束000000008fffff ...确定
    工作 FDT 设置为8feee000
    构建时间之前的系统时间、推进时钟。
    systemd 250.5+在系统模式下运行(+PAM -audit -SELinux -AppArmor +IMA -smack +SECCOMP -GCRYPT -GNUTLS -OpenSSL +blkid -curl -ELFUT-FIDO2 -IDN2-IPTC +KMOD -LIBCRYPTSETUP +LIBPFF+blkstd -RESTD -KDELEB -ZBPF-Z2+ISPZCRYSTD -KDE-ZRESTD -KDEKDE-KZBPF-KDE-KDE-ZCRYSTD + BPLISTD + BPF-KREST4)
    检测到的架构 ARM64。
    主机名设置为 。
    /etc/systemd/system/sync-clocks.service:11:标准输出类型 syslog 已过时、自动更新到日志。 请更新您的单位文件、并考虑完全删除设置。
    默认目标多用户系统的排队开始作业。
    modprobe@configfs.servICE:已成功停用。
    modprobe@drm.servICE:已成功停用。
    modprobe@fuse.servICE:已成功停用。
    psplash-start.service:主进程已退出、代码=退出、状态= 255/异常
    psplash-start.service:失败、结果为"退出代码"。

    ____ ____ _
    |________________|_|___________|__________
    ||_|.'|。 |。 ||__|_|。 |||-_|_|_|
    |____|_|_|__、|___||__||___||___|___|___|___|___|__
    |___||___|

    Arago Project am62xx-EVM -

    Arago 2023.04 am62xx-EVM -

    am62xx-EVM 登录:root

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、看不到从内核打印的任何消息。

    [引述 userid="606011" url="~/support/processors-group/processors/f/processors-forum/1501045/am625-how-to-remove-kernel-logs/5771836 #5771836"]

    U-Boot 2023.04-g24098ea90d (2023年7月6日- 12:59:40 +0000)

    SoC:AM62X SR1.0 GP
    型号:德州仪器(TI) AM625 SK
    EEPROM 在80时不可用、尝试在81处读取
    读取0x51处的板载 EEPROM 失败- 1
    DRAM:2 GiB
    内核:67个器件、29个类、器件树:单独
    MMC:MMC@fa10000:0、MMC@fa00000:1
    从无处加载环境... 好的
    EEPROM 在80时不可用、尝试在81处读取
    读取0x51处的板载 EEPROM 失败- 1
    网络:eth0:以太网@8000000port@1.
    按任意键停止自动引导:0
    切换到分区#0、确定
    mmc1是当前设备
    SD/MMC 位于器件1上
    加载'boot.scr'失败
    在14ms (40KiB/s)内读取574个字节
    已从 uEnv.txt 加载 env
    正在从 mmc1导入环境...
    ##错误:"main_cpsw0_qsgmii_phyinit"未定义
    21654016字节、在957 ms (21.6 MiB/s)内读取
    在19ms (2.9MiB/s)内读取58770字节
    工作 FDT 设置为88000000
    ##展开的设备树 blob 为88000000
    使用位于0x88000000的 FDT blob 进行引导
    工作 FDT 设置为88000000
    错误:保留 FDT 内存区域失败(addr=ff700000 size=8ca000 flags=4)
    正在将设备树加载到000000008fee000、结束000000008fffff ...确定
    工作 FDT 设置为8feee000

    [/报价]

    这些都是从 U-Boot 打印出来的。

    构建前的系统时间、提前时钟。
    systemd 250.5+在系统模式下运行(+PAM -audit -SELinux -AppArmor +IMA -smack +SECCOMP -GCRYPT -GNUTLS -OpenSSL +blkid -curl -ELFUT-FIDO2 -IDN2-IPTC +KMOD -LIBCRYPTSETUP +LIBPFF+blkstd -RESTD -KDELEB -ZBPF-Z2+ISPZCRYSTD -KDE-ZRESTD -KDEKDE-KZBPF-KDE-KDE-ZCRYSTD + BPLISTD + BPF-KREST4)
    检测到的架构 ARM64。
    主机名设置为 。
    /etc/systemd/system/sync-clocks.service:11:标准输出类型 syslog 已过时、自动更新到日志。 请更新您的单位文件、并考虑完全删除设置。
    默认目标多用户系统的排队开始作业。
    modprobe@configfs.servICE:已成功停用。
    modprobe@drm.servICE:已成功停用。
    modprobe@fuse.servICE:已成功停用。
    psplash-start.service:主进程已退出、代码=退出、状态= 255/异常
    psplash-start.service:失败、结果为"退出代码"。

    这些是从 Linux 用户空间应用程序(systemd?)打印的。

    消息不受内核命令行控制。

    顺便说一下、您是否想解释为什么要禁用除登录提示之外的所有日志消息?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Bin Liu

    这些消息不受内核命令行控制。

    >>好的、谢谢、我们将调试如何隐藏/删除它们。

    您是否想解释为什么要禁用除登录提示之外的所有日志消息?

    >>>我们计划优化启动时间;减少或隐藏控制台日志是节省启动时间的一部分。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、听起来不错。

    BTY、当您使用 falcon 引导时、大多数 U-Boot 消息将消失。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Bin Liu

    当我们使用 falcon 引导时、u-boot 日志不会按预期显示。

    然而,正如前面提到的注释2 ),我们发现 u-boot passs 引导参数(如下所示)到内核隐藏/抑制从控制台的内核日志。

    在 U-boot 中: arch/arm/dts/k3-am62x-sk-common-u-boot.dtsi

    选择了{
    stdout-path ="SERIAL2:115200n8";
    /* bootargs ="console=ttyS2115200n8";*/
    bootargs ="console=ttyS0115200n8. LogLevel=0安静的 rootdelay=0 vt.global_cursor_default=0 vt.color=0x00 systemd.show_status=0 rd.udev.log_priority=0 ";
    tick-timer =&Timer1;
    };

    当我们使用 falcon 时、我们如何在控制台上隐藏内核日志?

    在内核中、我们尝试在内核的 dts 和解构中添加 bootargs 选项、如下所示、但它不会产生影响。

       DTS: arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi

       选择了{
         stdout-path ="SERIAL2:115200n8";
         bootargs ="console=ttyS0115200n8 loglevel=0 quiet rootdelay=0 vt.global_curser_default=0 vt.color=0x00 systemd.show_status=0      rd.udev.log_priority=0 ";

        }

       arch/arm64/configs/defconfig:

        CONFIG_CMDLINE="CONSOLE=ttyS0115200n8 loglevel=0 quiet rootdelay=0 vt.global_cursor_default=0 vt.color=0x00 systemd.show_status=0 rd.udev.log_priority=0 "
        CONFIG_CMDLINE_OVERRIDE=y
        CONFIG_PRINTK=n
        CONFIG_EYEAR_PRINTK=n
        CONFIG_DEBUG_INFO = n

    ------------------------

    在内核日志中、上述配置似乎不起作用:

    root@am62xx-EVM:~# cat /proc/cmdline
    console=ttyS2115200n8 earlycon=ns16550a,mmio32,0x02800000 root=/dev/mmcblk1p2 rw rootftype=ext4 Rootwait

    e2e.ti.com/.../kernel_5F00_log_5F00_still_5F00_show.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid="606011" url="~/support/processors-group/processors/f/processors-forum/1501045/am625-how-to-remove-kernel-logs/5777344 #5777344"]

    当我们使用 falcon 时、我们如何在控制台上隐藏内核日志?

    在内核中、我们尝试在内核的 dts 和解构中添加 bootargs 选项、如下所示、但它不会产生影响。

       DTS: arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi

       选择了{
         stdout-path ="SERIAL2:115200n8";
         bootargs ="console=ttyS0115200n8 loglevel=0 quiet rootdelay=0 vt.global_curser_default=0 vt.color=0x00 systemd.show_status=0      rd.udev.log_priority=0 ";

    [/报价]

    当我使用 falcon 引导时、我在 k3-am62x-sk-common.dtsi 中所选节点的引导参数中设置内核引导参数、它就会正常工作。 我想不出为什么它在您的设置中不起作用。