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.

[参考译文] Linux:引导 Linux 时出现 IPv6错误

Guru**** 2584245 points
Other Parts Discussed in Thread: DP83640, OMAP-L138

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/595123/linux-ipv6-errors-while-booting-linux

主题中讨论的其他器件:DP83640OMAP-L138DA8XXPMPOMAPL138

工具/软件:Linux

你(们)好。

在 Linux 内核构建中、我更改了如下内容:

添加了 DP83640的以太网驱动程序和  

但是、在这样做之后、我会遇到很多错误。

错误消息:

IPv6:不同意符号 inet_frag_kill 的版本
IPv6:未知符号 inet_frag_kill (错误-22)
IPv6:不同意符号__kfree_skb 的版本
IPv6:未知符号__kfree_skb (错误-22)
IPv6:不同意符号 tcp_s拼 接_read 的版本
IPv6:未知符号 tcp_s拼 接_read (错误-22)
IPv6:不同意符号 SOCK_INIT_DATA 的版本
IPv6:未知符号 SOCK_INIT_DATA (错误-22)
IPv6:不同意符号 tcp_v4_connect 的版本
IPv6:未知符号 tcp_v4_connect (错误-22)
IPv6:不同意符号 SK_PROT_CLEAR_portaddr_nulls 的版本
IPv6:未知符号 SK_PROT_CLEAR_portaddr_nulls (错误-22)
IPv6:不同意符号 neigh_lookup 的版本
IPv6:未知符号 neigh_lookup (错误-22)
IPv6:不同意符号 xfrm_state_register_afinfo 的版本
umount:无法 umount /mnt/.psplash:设备或资源占线
IPv6:未知符号 xfrm_state_register_afinfo (错误-22)
IPv6:不同意 symbol release_sock 的版本
IPv6:未知符号 release_sock (错误-22)
IPv6:不同意符号 secpath_DUP 的版本
IPv6:未知符号 secpath_DUP (错误-22)

我没有更改任何与 IPv6相关的内容。 所以我不确定问题是什么。 谢谢

此致、

Mitesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Mitesh、
    您还需要再次构建网络模块。 也重建.ko
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、我运行了 make 模块。
    我还应该做什么? 要重建网络模块?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否也安装了所有模块? 我的意思是,它是否被放入设备中?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请务必共享电路板详细信息、与网络相关的内核配置等
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好。
    我已经开始使用 OMAP L138 lcdk 设计、并使用了用于 Dp83640的 menuconfig 添加的驱动程序
    然后、完成 make uimage;make 模块并 make module_install。

    您希望我分享什么内容?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对 lcdk config 文件的更改如下:
    添加了 MII PHY 器件驱动程序
    CONFIG_DP83640_PHY=y

    编号
    支持# PTP 时钟
    编号
    CONFIG_PTP_1588_CLOCK = y

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

    e2e.ti.com/.../7853.tisdk_5F00_omapl138_5F00_custom_5F00_defconfig.txtattacheddefconfig 文件。

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

    使用内核导出的符号的 IPv6模块。
    您可能还需要安装内核(进行安装)。

    此致、
    Prahlad V
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Prahalad、我确实制作了 modules_install。 这话什么意思? 还是进行安装?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    make modules_install 将安装所有模块、但这些模块依赖于内核中可用的其他符号。 因此还需要安装内核。

    因此、您还必须执行"make install"、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    噢、好的、可以了。 内核应使用什么压缩?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果是 uImage、则会继续保持不变。 确保您获取更新的 uImage 和内核模块(make modules_install)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我认为我已经这样做了。 我可以看到 Linux 何时启动时间戳。

    从 Linux 引导日志:
    正在读取 BOOT.SCR

    **无法从 MMC 0:1读取“boot.scr”**
    正在读取 uImage

    读取223440字节
    ##从 c0700000上的传统映像引导内核...
    映像名称:Linux-3.3.0
    映像类型:ARM Linux 内核映像(未压缩)
    数据大小:223376字节= 2.1 MiB
    载入地址:c0008000
    入口点:c0008000
    正在验证校验和... 好的
    正在加载内核映像... 好的
    好的

    正在启动内核...

    正在解压缩 Linux... 已完成、正在引导内核。
    在物理 CPU 0上引导 Linux
    Linux 版本3.3.0 (miteshhiran@Ubuntu)(gcc 版本4.5.3 20110311 (预发布)(GCC))#1早于2017年5月12日12:24:29 (英国夏令时)星期五
    CPU:ARM926EJ-S [41069265]修订版5 (ARMv5TEJ)、CR=00053177
    CPU:VIVT 数据高速缓存、VIVT 指令高速缓存
    机器:AM18x/OMAP-L138 lcdk 板
    存储器策略:ECC 禁用、数据高速缓存写回
    错误:在0xFFE0000处映射0x8000000000、超出 vmalloc 空间
    达芬奇 da850/OMAP-L138/AM18x 变体0x1
    在区域顺序和移动分组中构建1个区域列表。 总页数:32512
    内核命令行:console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait ip=off
    PID 哈希表条目:512 (顺序:-1、2048字节)
    DEntry 高速缓存散列表条目:16384 (顺序:4、65536字节)
    inode 高速缓存哈希表条目:8192 (顺序:3、32768字节)
    内存:128MB =总共128MB
    存储器:125192k/125192k 可用、5880k 保留、0K HIGHMEM
    虚拟内核内存布局:
    向量:0xff0000-0xff1000 (4KB)
    Fixmap:0xFF00000 - 0xFFE0000 (896 KB)
    vmalloc:0xc8800000-0x000000 (872 MB)
    低内存:0xC0000000 - 0xC80000 (128 MB)
    模块:bbf000000 - 0xC0000000 (16 MB)
    .text:0xc0008000 - 0xc0429000 (4228 KB)
    init:0xc0429000 - 0xc0451000 (160KB)
    .data:0xc0452000 - 0xc047cd40 (172KB)
    .bss:0xc047cd64 - 0xc04999ac (116KB)
    slub:Genslabs=13、HWalign=32、order=0-3、MinObjects=0、CPU=1、 节点= 1
    NR_IRQ:245
    控制台:彩色虚拟设备80x30
    正在校准延迟环路... 148.88茂物剪(lpj=744448)
    PID_max:默认值:32768最小值:301
    挂载高速缓存散列表条目:512
    CPU:测试写入缓冲区一致性:好的
    为0xc032afa0-0xc032aff8设置静态标识映射
    gpiochip_add:器件上的寄存 GPIO 0至31:DaVinci
    gpiochip_add:在器件上注册的 GPIO 32至63:DaVinci
    gpiochip_add:器件上的寄存 GPIO 64至95:Davinci
    gpiochip_add:在器件:DaVinci 上注册了 GPIO 96至127
    gpiochip_add:器件上的寄存 GPIO 128至143:DaVinci
    达芬奇:144个 GPIO IRQ
    print_constraints:伪:
    NET:注册协议系列16.
    EMAC:已配置 RMII PHY
    BIO:创建层块 为0
    已初始化 SCSI 子系统
    I2C-GPIO i2c-GPIO.1:使用引脚20 (SDA)和21 (SCL)
    PPS_CORE:LinuxPPS API 版本。 1已注册
    PPS_CORE:软件版本 5.3.6 -版权所有2005-2007 Rodolfo Giometti
    已注册 PTP 时钟支持
    高级 Linux 声音架构驱动程序版本1.0.24。
    切换到时钟源 timer0_1
    NET:注册协议系列2.
    IP 路由高速缓存哈希表条目:1024 (顺序:0、4096字节)
    TCP 建立哈希表条目:4096 (顺序:3、32768字节)
    TCP 绑定哈希表条目:4096 (顺序:2、16384字节)
    TCP:配置哈希表(建立4096 BIND 4096)
    TCP 重新注册
    UDP 哈希表条目:256 (顺序:0、4096字节)
    UP-Lite 哈希表条目:256 (顺序:0、4096字节)
    NET:注册协议系列1
    RPC:注册后命名为 UNIX 套接字传输模块。
    RPC:注册的 UDP 传输模块。
    RPC:注册的 TCP 传输模块。
    RPC:已注册的 TCP NFSv4.1反向通道传输模块。
    JFFS2版本2.2。 (NAND)Copyright2001-2006 Red Hat, Inc.
    msgmni 已设置为244
    已注册 IO 调度程序 NOOP (默认)
    da8xx_LCDC da8xx_LCDC.0:GLCD:找到 VGA_Monitor 面板
    控制台:切换到彩色帧缓冲设备80x30
    串行:8250/16550驱动程序,3个端口,禁用 IRQ 共享
    serial8250.0:MMIO 0x1c42000 (IRQ = 25)上的 ttyS0是一个 AR7
    serial8250.0:MMIO 0x1d0c000 (IRQ = 53)处的 ttyS1是一个 AR7
    serial8250.0:MMIO 0x1d0d000 (IRQ = 61)处的 ttyS2是一个 AR7
    控制台[ttyS2]已启用
    返修:模块已加载
    AHCI:强制 PORT_IMPL 为0x1
    AHCI:AHCI 0001.0100 32插槽1端口3 Gbps 0x1不支持平台模式
    AHCI AHCI:标志:NCQ SNTF pm led clo only pmp pio sagadfet part ccc
    scsi0:ahci_platform
    ata1:SATA max UDMA/133 MMIO [mem 0x01e18000-0x01e19fff] port 0x100 IRQ 67
    NAND 器件:制造商 ID:0x2C、芯片 ID:0xcc (Micron NAND 512Mib3、3V 16位)
    在第262080页、版本0x01中发现错误的块表
    在第262016页、版本0x01中找到错误的块表
    在"Davinci_nand.1"上创建4个 MTD 分区:
    0x0000000000000000 0x000000020000:"u-boot env"
    0x00000002000-0x0000000a0000:"u-boot"
    0x0000000a0000-0x0000002a0000:“内核”
    0x0000002a0000-0x000020000000:“文件系统”
    DaVinci_nand DaVinci_nand.1:控制器修订版2.5
    DaVinci_MDIO DaVinci_MDIO.0:达芬奇 MDIO 修订版本1.5
    DaVinci_MDIO DaVinci_MDIO.0:检测到的 phy 掩码 fffffffd
    DaVinci_MDIO.0:探测
    DaVinci_MDIO DaVinci_MDIO.0:PHY[1]:器件 DaVinci_MDIO-0:01、驱动程序 NatSemi DP83640
    输入:GPIO 密钥轮询为/devices/platform/gpio-keys-polled.0/input/input0
    OMAP_RTC OMAP_RTC:RTC 内核:将 OMAP_RTC 注册为 rtc0
    OMAP_RTC:检测到 RTC 上电复位
    I2C /dev/entries 驱动程序
    看门狗装置:心跳60秒
    空闲:使用调速器梯
    空闲:使用调速器菜单
    DaVinci_MMC DaVinci_MMC.0:使用 DMA、4位模式
    SoC-AUDIO SoC-AUDIO.0:ASOC:无法创建卡 debugfs 目录
    _reguler_get:1-0018未找到电源 IOVDD、正在使用虚拟稳压器
    _reguler_get:1-0018找不到电源 DVDD、使用虚拟稳压器
    _reguler_get:1-0018未找到电源 AVDD、正在使用虚拟稳压器
    _reguler_get:1-0018未找到电源 DRVDD、使用虚拟稳压器
    ASOC:tlv320aic3x-hifi <->Davinci-McASP/0映射正常
    ALSA 设备列表:
    0:DA850/OMAP-L138 EVM
    TCP 立方注册
    NET:注册协议系列17.
    控制台[netcon0]已启用
    mmc0:地址0002处的新高速 SDHC 卡
    netconsole:网络日志记录已启动
    mmcblk0:mmc0:0002 N/A 7.50 GiB
    DaVinci_EMAC DaVinci_EMAC.1:使用随机 MAC 地址:8e:6d:40:de:F6:47
    mmcblk0:P1 P2 P3
    ata1:SATA 链路断开(sStatus 0 SControl 300)
    OMAP_RTC OMAP_RTC:将系统时钟设置为2000-01-01 00:00:00 UTC (946684800)
    kjournald 正在启动。 提交间隔5秒
    ext3-fs (mmcblk0p2):使用内部日志
    ext3-fs (mmcblk0p2):恢复完成
    ext3-fs (mmcblk0p2):具有写回数据模式的已挂载文件系统
    VFS:在设备179:2上安装了根(ext3文件系统)。
    释放初始化内存:160K

    init:版本2.88正在引导

    正在启动 udev
    kjournald 正在启动。 提交间隔5秒
    ext3-fs (mmcblk0p3):使用内部日志
    ext3-fs (mmcblk0p3):恢复完成
    ext3-fs (mmcblk0p3):已安装文件系统、具有写回数据模式
    启动 Bootlog 守护程序:bootlogd。

    ALSA:正在恢复混频器设置...

    正在配置网络接口... 网络 eth0:连接的 PHY 驱动程序[NatSemi DP83640](MII_BUS:phy_addr=Davinci_MDIO-0:01、id=20005ce1)
    udhcpc (v1.20.2)已启动

    正在发送发现...

    DaVinci_MDIO DaVinci_MDIO.0:复位 idled 控制器
    PHY:DaVinci_MDIO-0:01 -链路打开- 100/满
    正在发送发现...

    正在发送发现...

    不租赁、失败

    完成。

    星期三2013年11月6日12:05:00 UTC


    初始化:输入运行级别:5.


    正在启动系统信息总线:dbus。

    启动 Dropbear SSH 服务器:ipv6:不同意符号 inet_recvmsg 的版本
    ipv6:未知符号 inet_recvmsg (错误-22)
    IPv6:不同意符号 skb_free 数据报的版本
    IPv6:未知符号 skb_free 数据报(错误-22)
    IPv6:不同意符号__skb_CHECKSUM_COMPLETE 的版本
    IPv6:未知符号__skb_CHECKSUM_COMPLETE (ERR -22)
    IPv6:不同意符号 REGISTER_SYSCTL_Paths 的版本
    IPv6:未知符号 REGISTER_SYSCTL_Paths (错误-22)
    IPv6:不同意符号 xfrm_inner_extract_output 的版本
    IPv6:未知符号 xfrm_inner_extract_output (错误-22)
    IPv6:不同意符号 skb_free 数据报_locked 的版本
    IPv6:未知符号 skb_free 数据报_锁定(错误-22)
    IPv6:不同意符号 SOCK_I_uid 的版本
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    ipv6:未知符号 inet_recvmsg (错误-22)
    IPv6:不同意符号 skb_free 数据报的版本
    IPv6:未知符号 skb_free 数据报(错误-22)
    IPv6:不同意符号__skb_CHECKSUM_COMPLETE 的版本
    IPv6:未知符号__skb_CHECKSUM_COMPLETE (ERR -22)
    IPv6:不同意符号 REGISTER_SYSCTL_Paths 的版本
    IPv6:未知符号 REGISTER_SYSCTL_Paths (错误-22)
    IPv6:不同意符号 xfrm_inner_extract_output 的版本
    IPv6:未知符号 xfrm_inner_extract_output (错误-22)
    IPv6:不同意符号 skb_free 数据报_locked 的版本
    IPv6:未知符号 skb_free 数据报_锁定(错误-22)
    IPv6:不同意符号 SOCK_I_uid 的版本

    以上错误意味着该模块与您构建的 Linux 不兼容。

    有一些初始化脚本尝试加载模块。 在您的文件系统(对于 omapl138)中,查找模块位置(find /-name *。ko)应该会告诉您。

    构建内核时、还会构建模块并将这些模块复制到上面报告的位置。 (注意:它需要处于相同的文件夹结构中)

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

    是的、我认为、我会这样做。 但会列出步骤。

    1) 1)执行 make uImage;make 模块并 make modules_install;
    2) 2)我要将 uImage 移动到 SD 卡引导分区(uImage 是从 arch/arm/boot 获取的)
    3) 3)将 module_install 创建的文件系统复制到 rootfs 分区中的 SD 卡中。 这基本上是写"lib"文件夹。

    这些步骤是否正确?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    可能是 make modules_install 正在 PC 的/lib/中安装它。

    您能否尝试提供 make modules_install install_modd_path=
    安装_MOD_PATH 至 SDCard 路径
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、它是用 SD 卡编写的、但在库中创建文件夹库!!!
    感谢您的支持、它清除了所有错误。

    但由于某种原因、仍然无法执行 DHCP!!! 将在下周调试。 谢谢。