新闻详情

新闻详情

首页 / 资讯中心 / 详情

17_实验十六_启动Linux内核命令

发布时间:2026/10/2 12:42:10来源:尧图网络
17_实验十六_启动Linux内核命令
实验十六 启动 Linux 内核命令——bootm 点火第一章悬案揭晓对应课件《第4章 使用U-Boot》4.7 节Slide 43-50系列说明本系列基于华清远见 FS-MP1ASTM32MP157A开发板对应课件《第4章 使用U-Boot》。第 3 章以来autoboot 收尾总有一句 bootm 找不到内核的报错——本篇揭晓谜底不是 U-Boot 坏了是 DRAM 里压根没有内核。把出厂内核uImage 设备树用 tftp 装进内存bootm一声令下Linux 第一次被我们亲手点火再把这三条命令写进bootcmd环境变量就是 autoboot 每次自动执行的那件事。本文覆盖 Slide 43-50bootm/bootz/boot/bootd 四条命令、例 1 手动启动、例 2 固化到 bootcmd。前置实验十三tftp 通、实验十五可选eMMC 里已备好内核文件。一、命令族四兄弟命令干什么备注bootm [addr [arg ...]]启动 DRAM 里的uImage镜像stm32mp1 用 uImage本篇主角bootz [addr [arg ...]]启动 DRAM 里的zImage镜像zImage 是另一种内核镜像格式用哪种取决于厂商给哪种命令格式与 bootm 相同boot/bootd执行bootcmd环境变量里保存的命令两条是同一个命令的别名课件原话ST 提供的 U-Boot 未使能 boot 命令——报Unknown command就用run bootcmd等效uImage 是U-Boot 格式的内核镜像带头部信息zImage 是裸压缩内核——第 5 章自己编内核时会亲手生成 uImage本篇先用出厂现成的。二、实验环境实际项目实际值板子状态trusted 版 U-Boot倒计时 5 秒STM32MP可达串口MobaXterm Serial 会话115200新机上实测COM10会话标题栏为STMicroelectronics STLink Virtual COM Port (COM10)2026-09-24COM11是旧电脑的值换机后一律以 Windows 设备管理器里的 ST-Link 串口号为准网络Ubuntu 侧tftpd-hpa运行中实验十三那台serverip 192.168.0.100/home/cnu/tftpboot里两个文件都已在位uImage7,546,640 字节实验十三放入stm32mp157a-fsmp1a-mipi050.dtb71,805 字节实验十五步骤 6 补入并实测Bytes transferred 71805 (1187d hex)权限 644——zip 里仅此一对文件配套出厂品无变体纠结环境变量基线实验九网络三件套 serverip 192.168.0.100bootdelay 5bootcmd仍为 ST 默认autoboot 扫 mmc 落空那条路开工自检10 秒上电先看Hit any key to stop autoboot:后面那个数字——若是0换过板子、重新分区烧写后最容易回到 0先补一句setenv bootdelay 5saveenvenv set/env save等价写法再reset往后每次拦停都来得及按 Enter。做法见《实验十二》步骤 1 与步骤 4。三、课件 ↔ 步骤对应表课件 Slide内容对应步骤43启动命令族总览第一节44bootm 命令格式与参数顺序步骤 145~46例 1tftp 下载内核 设备树bootm 启动步骤 247bootz 与 bootm 的异同第一节48boot/bootd 执行 bootcmdST 未使能说明步骤 349~50例 2三条命令存入 bootcmdboot 启动步骤 3本篇动作 → 后面谁用 → 现在含糊的后果本篇动作后面哪一篇要用现在含糊的后果认下点火前内存里必须有镜像这个顺序两条tftp→bootm实验十七的自定义变量mybootnet就是这三条的打包第 5 章换成自己编的内核与 dtb顺序一个字都不用改只记bootm不记装弹就会撞Wrong Image Format还以为是命令坏了本篇实测就撞了一次见第五节会读 bootm 的镜像头Data Size/Load Address/Entry Point第 5 章用mkimage自己造 uImage 时-a加载地址与-e入口地址就是这里看到的c2000040那两个值到第 5 章对着mkimage -a ... -e ...不知道参数该填什么、为什么填这个bootcmd已被固化成网络启动三连并 saveenv实验十七要在它旁边再立mybootnet/mybootemmc两个变量还要比较上电自动跑的到底是哪条忘了自己改过bootcmd下次上电自动跑网络启动、还 32 秒复位一次看起来像板子异常记下内核停在哪一行VFS: Unable to mount root fs第 5 章的验收 这一行往后挪第 6 章挂上 NFS 根之后它应当彻底消失没留基线第 5 章进步在哪一步说不清认下看门狗 32 秒会自动复位这件事第 5、6 章内核起不来的每一次都会遇到每被复位一次就怀疑供电或板子坏了白拆一次卡本篇用到的两个文件都来自资料包官方系统内核和设备树.zipuImage7,546,640 stm32mp157a-fsmp1a-mipi050.dtb71,805实验十三/十五已把它们放进/home/cnu/tftpboot——本篇不需要新资料。四、实验步骤步骤 1bootm 的参数语法Slide 44图课件 Slide 44——bootm 命令格式文本bootm [addr [arg ...]]。bootm的参数有固定顺序空位用-占位bootm 内核地址 initrd地址 设备树地址 bootm c2000000 - c4000000 ; 没有 initrd用减号占位三件套里我们只有两件内核 设备树中间的 initrd 位置写-——这个减号占位是 bootm 语法的精髓写漏或写成空格都会启动失败。实际执行结果本步骤只认语法、不敲命令无实测记录。特别提醒别照着这一节的格式行直接点火——tftp那两条还没跑DRAM 里根本没有镜像bootm必然报Wrong Image Format正常现象不是故障。请先做完步骤 2 的装弹再回来对照语法真实回显也在步骤 2。步骤 2例 1——tftp 装弹bootm 点火Slide 45~46STM32MP tftp c2000000 uImage STM32MP tftp c4000000 stm32mp157a-fsmp1a-mipi050.dtb STM32MP bootm c2000000 - c4000000图课件 Slide 45——例 1 前两步tftp c2000000 uImageBytes transferred 7310904与tftp c4000000 stm32mp157d-atk.dtbBytes transferred 63833内核与设备树分别落位两个地址。dtb 文件名长逐字核对Tab 不补文件名实验十五提过。两条 tftp 都报Bytes transferred后先花 30 秒确认内存里真有东西再点火md.l c2000000 1应见 uImage 魔数27051956、md.l c4000000 1应见设备树魔数d00dfeed我们这一遍就是先照步骤 1 的格式行敲了一次点火命令撞上了那句Wrong Image Format——现场与判读见第五节「跳步提醒」。确认无误才点火课件那屏长这样图课件 Slide 46——bootm c2000000 - c4000000的完整回显## Booting kernel from Legacy Image ...、镜像名 Linux-5.4.31、Verifying Checksum ... OK、## Flattened Device Tree blob at ...、Loading Device Tree to ... OK最后Starting kernel ...之后接续打印 Linux 内核启动日志Booting Linux on physical CPU 0x0、Linux version 5.4.31 ...、Machine model: ...。我们这一遍的完整原样回显在下面「实际执行结果」的 ②两处数值不同是因为镜像不同课件板 8 MB 内核、我们这份 7.2 MB结构逐行对得上即可。Starting kernel ...之后串口刷出的就是 Linux 的启动日志——U-Boot 的历史使命完成控制权移交内核Booting Linux on physical CPU 0x0、Linux version ...——内核活了Machine model: ...——报的是板子厂商标识出厂 TF-A 在实验十一自报过同款同一家的出厂设备树。实测这一行是HQYJ STM32MP157 FSMP1A MIPI Discovery Board见下方 ③。预期结局内核日志滚到某处停下——大概率是VFS: Unable to mount root fs或 kernel panic 一类。这不是失败我们没传bootargs这个环境变量还空着——它是 U-Boot 在点火那一刻传给内核的启动参数串console日志往哪个串口发、root根文件系统在哪全写在里面第 5、6 章会正式用到板上也没有它能认的根文件系统——内核无根可挂只好停住。这行报错就是第 5 章的大门内核移植篇要做的正是自己编内核 自己给根文件系统。记录下日志停在哪一行——那是第 5 章的起跑线。实测停在Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)见下方 ④。看门狗彩蛋若内核停住约半分钟后板子自己复位TF-A 横幅重新滚起是启动横幅里那句WDT: Started with servicing (32s timeout)的看门狗在履行职责——没人喂狗了它按约定复位系统属正常收场。按复位键或等它自己复位回到STM32MP。本次就是这个结局复位原因被 TF-A 打印成IWDG2 Reset见下方 ⑤。实际执行结果2026-09-24 实测内核真的起来了——第 3 章以来第一次由我们亲手点火① 装弹。两条tftp各自落位字节数与实验十五完全对得上STM32MP tftp c2000000 uImage ethernet5800a000 Waiting for PHY auto negotiation to complete..... done ... Bytes transferred 7546640 (732710 hex) STM32MP tftp c4000000 stm32mp157a-fsmp1a-mipi050.dtb ... Bytes transferred 71805 (1187d hex)图实测录屏MobaXterm 串口会话标题栏可见本次用的是COM10 (STMicroelectronics STLink Virtual COM Port)——从上电的 TF-A 尾段SP_MIN: Preparing exit to normal world、U-Boot 横幅WDT: Started with servicing (32s timeout)、MMC: STM32 SD/MMC: 0, STM32 SD/MMC: 1、Net: eth0: ethernet5800a000到tftp c2000000 uImage满屏#、935.5 KiB/s、Bytes transferred 7546640 (732710 hex)与tftp c4000000 stm32mp157a-fsmp1a-mipi050.dtb五个#、3.8 MiB/s、 71805 (1187d hex)两条命令先后落位。② 点火。bootm这一段头信息是全篇最该逐行读的东西原样照抄未删字段STM32MP bootm c2000000 - c4000000 ## Booting kernel from Legacy Image at c2000000 ... Image Name: Linux-5.4.31 Created: 2020-04-08 7:08:47 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 7546576 Bytes 7.2 MiB Load Address: c2000040 Entry Point: c2000040 Verifying Checksum ... OK ## Flattened Device Tree blob at c4000000 Booting using the fdt blob at 0xc4000000 XIP Kernel Image Loading Device Tree to cffeb000, end cffff87c ... OK Starting kernel ...Data Size 7546576比 tftp 的7546640少 64 字节——那 64 字节就是 uImage 的头Image Name/Created/Image Type/ 大小 / 加载地址那一包。所以Load Address与Entry Point都是c2000040而不是c2000000真正的内核代码从地址 0x40开始。看到这两个数对不上不要以为哪里错了这是带头镜像的正常形状。Verifying Checksum ... OK 头里记的校验和与实际数据吻合说明下载没坏包。设备树被从c4000000搬到了cffeb000U-Boot 会给它挑一个不会被内核压掉的位置——所以事后md.l c4000000已经看不到d00dfeed是正常现象。Starting kernel ...之后串口就是 Linux 的天下U-Boot 交权。③ 内核活了摘六行。原日志从这里往后还有几百行驱动初始化全贴没意义挑出该读的[ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.4.31 (oe-useroe-host) (gcc version 9.3.0 (GCC)) #1 SMP PREEMPT Wed Apr 8 07:08:47 UTC 2020 [ 0.000000] OF: fdt: Machine model: HQYJ STM32MP157 FSMP1A MIPI Discovery Board [ 0.000000] Kernel command line: [ 0.180787] SMP: Total of 2 processors activated (96.00 BogoMIPS). [ 4.665168] VFS: Cannot open root device (null) or unknown-block(0,0): error -6Machine model: HQYJ STM32MP157 FSMP1A MIPI Discovery Board——上面讲解里那句报的是板子厂商标识落地同时证明mipi050那份设备树被内核正确认领不是stm32mp157d-atk也不是 U-Boot 横幅里那个 DK1——U-Boot 说 DK1、内核说 FSMP1A两者不矛盾U-Boot 的设备树还是 DK1 模板那份内核用的是我们给它的那份 dtb。Kernel command line:后面是空的——这一行就是本篇的题眼没设bootargs所以console、root一个都没传。双核已起、驱动已探触摸、显示、以太网、MMC 都在日志里露过面只差根。中间那几百行里内核把两块盘都认了出来mmcblk1: SD32G 29.7 GiB、mmcblk2: 004GA0 3.69 GiB——实验十四在 U-Boot 里摸的那两块盘Linux 侧是同一对名字两套工具互证。实测内核跑起指示灯变绿_metool图实测实物同一时刻的板子——MIPI 屏点亮、网口接入板载指示灯由红转绿红色是只有固件在跑转绿代表 Linux 内核已经接管并把电源/背光这类外设驱动初始化到位日志里能看到stm32-display ... fb0: stmdrmfb frame buffer device与Console: switching to colour frame buffer device 60x53。这是不用读日志也能一眼判断内核活了的物理信号——串口刷得快时容易看漏抬头看一眼灯最省事。④ 预期结局panic。日志停在这两行中间还夹着栈回溯可忽略[ 5.017253] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) [ 5.406484] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---起跑线记录在案第 5 章要做的正是自己编内核 自己给根文件系统届时这条 panic 会先变成有bootargs但根还不对再变成能登录。⑤ 看门狗彩蛋也兑现了。panic 之后板子约半分钟自己复位重启时 TF-A 把原因明明白白打了出来NOTICE: CPU: STM32MP157AAA Rev.Z NOTICE: Model: HQYJ FS-MP1A Discovery Board INFO: Reset reason (0x214): INFO: IWDG2 Reset (rst_iwdg2)正是启动横幅那句WDT: Started with servicing (32s timeout)在履职——没人喂狗它按约定复位系统。不是板子坏了别去查电源。⑥ 顺手白捡的一次互证。panic 前内核把可用分区列了一遍Please append a correct root boot option; here are the available partitions那一段mmcblk2p1~p5后面跟的 GUID 与实验十四mmc part表里的 Partition GUID 一字不差例如 2 号77877125-add0-4374-9e60-02cb591c9737bootfsmmcblk2boot0/boot1各2.00 MiB、mmcblk2rpmb512 KiB也正是实验十四mmc info里Boot Capacity: 2 MiB ENH/RPMB Capacity: 512 KiB ENH在 Linux 侧的名字。两张地图对上了实验十四那次摸底没白做。步骤 3例 2——把启动命令固化进 bootcmdSlide 48~50手动三连每次都要敲三行bootcmd环境变量就是它们的快捷方式——autoboot 倒计时归零后执行的就是它STM32MP setenv bootcmd tftp c2000000 uImage;tftp c4000000 stm32mp157a-fsmp1a-mipi050.dtb;bootm c2000000 - c4000000 STM32MP saveenv STM32MP run bootcmd图课件 Slide 49——例 2 命令setenv bootcmd tftp c2000000 uImage;tftp c4000000 stm32mp157d-atk.dtb;bootm c2000000 - c4000000saveenv最后执行boot。图课件 Slide 50——例 2 运行saveenv落盘Writing to redundant MMC(1)… OK后boot触发 bootcmd两条 tftp 先后下载内核与设备树## Booting kernel ...接Starting kernel ...随后滚出 Linux 日志。几个要点三条命令打包在一个引号里用分号串联——整个字符串是一个环境变量的值实验十二练过的语法值含空格必须加引号run bootcmd手动执行它boot命令与之等效——若报Unknown command就是课件 Slide 48 说的ST 未使能 boot 命令run bootcmd即可两者一回事saveenv 之后行为变化此后每次上电倒计时归零 自动走网络启动。Ubuntu 与它的tftpd-hpa必须在线否则 bootcmd 里的 tftp 重试几轮后 Abort 落回命令行无害就是慢。倒计时 5 秒内按 Enter 照旧可以拦停想还原归零后安静落提示符setenv bootcmd赋空值saveenv——第 5 章会更 handy 地管理它届时再说。实际执行结果2026-09-24 实测一条命令顶步骤 2 那三行结果一字不差STM32MP setenv bootcmd tftp c2000000 uImage;tftp c4000000 stm32mp157a-fsmp1a-mipi050.dtb;bootm c2000000 - c4000000 STM32MP saveenv Saving Environment to MMC... Writing to MMC(0)... OK STM32MP run bootcmd ethernet5800a000 Waiting for PHY auto negotiation to complete..... done Using ethernet5800a000 device TFTP from server 192.168.0.100; our IP address is 192.168.0.8 Filename uImage. Load address: 0xc2000000 Loading: ################################################################# ...八行 # 929.7 KiB/s done Bytes transferred 7546640 (732710 hex) Using ethernet5800a000 device TFTP from server 192.168.0.100; our IP address is 192.168.0.8 Filename stm32mp157a-fsmp1a-mipi050.dtb. Load address: 0xc4000000 Loading: ##### 3.8 MiB/s done Bytes transferred 71805 (1187d hex) ## Booting kernel from Legacy Image at c2000000 ... Image Name: Linux-5.4.31 ...镜像头与步骤 2 完全一致 Verifying Checksum ... OK ## Flattened Device Tree blob at c4000000 Booting using the fdt blob at 0xc4000000 XIP Kernel Image Loading Device Tree to cffeb000, end cffff87c ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.4.31 (oe-useroe-host) (gcc version 9.3.0 (GCC)) #1 SMP PREEMPT Wed Apr 8 07:08:47 UTC 2020图实测串口——setenv bootcmd ...→saveenvSaving Environment to MMC... Writing to MMC(0)... OK→run bootcmd之后两条 tftp 依次落位7546640 (732710 hex)、71805 (1187d hex)紧接## Booting kernel from Legacy Image at c2000000 ...到Starting kernel ...、Booting Linux on physical CPU 0x0、Linux version 5.4.31 ...——与步骤 2 手动三连的结局完全相同只是敲了一行。四点读法Writing to MMC(0)... OK而不是课件那屏的MMC(1)——环境存在启动设备上我们从 SD 卡启动所以是MMC(0)实验十二、十三已两次实测过这条。设备号跟着启动方式走不是谁配错了。run bootcmd 把那个字符串原样敲进命令行执行所以两条Bytes transferred、镜像头、Starting kernel ...全都一模一样。这就是快捷方式的含义固化的是命令串不是启动结果服务器没开时它照样几轮超时。第二发 tftp 前不再打Waiting for PHY auto negotiation to complete...——PHY 只在第一次需要自协商同一上电周期内后续复用链路。看到第一发等一点、第二发不等是正常的别以为链路掉了。后续结局同步骤 2内核日志滚到VFS: Unable to mount root fspanic约半分钟后被 IWDG2 复位。复位后上电倒计时归零它会自动重跑这条 bootcmd——这就是注意事项 5 说的服务器要常在线不想每次都自动跑就setenv bootcmd赋空saveenv还原。五、注意事项内核与设备树必须配套uImage与stm32mp157a-fsmp1a-mipi050.dtb出自同一份出厂 zip——别拿课件截图里的stm32mp157d-atk.dtb名字照打那是别人板子的设备树。地址约定全系列统一内核c2000000、设备树c4000000实验十三起的约定课件同款。bootm 的三个地址要与 tftp 下载地址一字不差。-占位不能丢bootm c2000000 - c4000000中间的减号两侧空格都在——写成bootm c2000000 c4000000会把设备树当地址用启动失败。Starting kernel ...之后无输出先等 10 秒内核解压/早期初始化要时间再确认 dtb 是不是 fsmp1a 那份控制台配置不对会哑火再不行回查 tftp 的 Bytes transferred。固化 bootcmd 后服务器要常在线tftpd-hpa没开或虚拟机没启动时上电会多等几轮 tftp 超时才落回命令行——不是死机。终端粘贴用右键bootcmd 那条长命令务必整体复制粘贴手打容易丢分号。跳步提醒只照步骤 1 的格式行点火必然报Wrong Image Format现象2026-09-24 实测本次在做到步骤 2 之前先照步骤 1 那行格式顺手敲了一次点火命令STM32MP bootm c2000000 - c4000000 Wrong Image Format for bootm command ERROR: cant get kernel image! STM32MP原因不神秘两条tftp还没跑0xc2000000里本来就没有内核。这两行报错是 U-Boot 在如实汇报这个地址上没有镜像——不是板子问题、不是命令写错、更不是网络问题。步骤 1 本来只讲语法、不敲命令但格式行长得太像可以直接执行的命令读者很容易顺手抄进终端本次就是所以已在步骤 1 末尾补了一句本步骤不要敲命令。想自己验证用两条只读命令就够了md.l 按 32 位显示内存内容不改任何东西STM32MP md.l c2000000 4 c2000000: 55555555 20166330 81143000 28303350 UUUU0c. .0..P30( STM32MP md.l c4000000 2 c4000000: 55555555 bbbfdff7 UUUU....两个地址里都没有镜像头uImage 的头一个字段是魔数27051956设备树FDT是d00dfeed。这里读到的是一串无意义的花纹值说明点火那一刻DRAM 里既没有内核也没有设备树——枪膛是空的。修法就一句按顺序做完步骤 2两条tftp都打出Bytes transferred之后再bootm。另外两种会产生同样报错的真实情况后面几章还会遇到一并记在这儿下载之后板子重启过。DRAM 是易失的按了复位键、拔过电源甚至内核起不来后被看门狗自动复位本篇步骤 2 那条看门狗彩蛋32 秒就咬一次内存里的镜像就全没了。重启后 U-Boot 回到干净状态c2000000剩的就是上面那种花纹值——必须重新tftp再bootm。地址打串了。实验十五练手用的是tftp c0000000 uImage为了配合ext4write本篇要的是tftp c2000000 uImage。下到c0000000、却在c2000000点火报的就是这个。值得养成的固定动作30 秒bootm之前先md.l c2000000 1和md.l c4000000 1看到27051956与d00dfeed再点火。少这一步bootm只会丢给你一句格式不对有这一步里面根本没东西和东西在但不对两种病当场分开——定位速度差一个数量级。六、怎么验证bootm c2000000 - c4000000后能看到Starting kernel ...并滚出 Linux 内核日志Booting Linux on physical CPU 0x0一行起——已实测2026-09-24## Booting kernel from Legacy Image at c2000000 ...→Verifying Checksum ... OK→Starting kernel ...一路正常内核日志最后一行有记录——第 5 章的起跑线——已记录Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)且Kernel command line:为空bootargs 未设是直接原因run bootcmd能复现同一启动过程bootcmd 已 saveenvprint bootcmd可查验——已实测saveenv打Writing to MMC(0)... OKrun bootcmd一条命令复现两条 tftp 镜像头 Starting kernel ...与手动三连结果一致boot报Unknown command时知道用run bootcmd等效课件 Slide 48 的知识点落地——本篇直接用run bootcmd完成boot这条命令在本版固件上是否内建未单独验证留到实验十七盘点命令时一并确认。不达标时的排查现象先查什么bootm报Wrong Image Format for bootm commandERROR: cant get kernel image!不是 bootm 写错了是内存里没装弹最常见就是跳过了步骤 2 的两条tftp照步骤 1 的格式行直接点火其次是两条 tftp 本次没成功、或下载后板子重启过DRAM 易失。自检md.l c2000000 1应见魔数27051956、md.l c4000000 1应见d00dfeed。完整现场与判读见第五节「跳步提醒」## Flattened Device Tree blob后卡住dtb 地址对不对c4000000、dtb 是不是 fsmp1a 那份Starting kernel ...后永久无输出多等 10 秒再确认 tftp 下载的 dtb 字节数 71,805服务器侧ls -l /home/cnu/tftpboot也对一次仍无输出则记录现象第 5 章编自己的内核时自然解决内核日志滚出后 panic预期结局——记录停在哪一行这正是第 5 章要解决的问题七、实验完成标志tftp两条内核c2000000 设备树c4000000字节数对账通过步骤 2 实测7546640 (732710 hex)与71805 (1187d hex)bootm c2000000 - c4000000点火成功——Starting kernel ...后滚出 Linux 日志步骤 2 实测Linux version 5.4.31、Machine model: HQYJ STM32MP157 FSMP1A MIPI Discovery Board、双核起来、驱动探完内核日志停止位置有记录第 5 章起跑线步骤 2 实测Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)Kernel command line:为空约半分钟后IWDG2 Reset自动复位看门狗彩蛋同步兑现bootcmd三连已 saveenvrun bootcmd复现启动步骤 3 实测Saving Environment to MMC... Writing to MMC(0)... OK→run bootcmd一条命令走完两条 tftp bootmStarting kernel ...与手动三连一致boot/bootd与run bootcmd的等效关系本篇用run bootcmd完成启动boot是否内建留实验十七确认步骤 3八、下一步其他命令与自定义启动变量下一篇覆盖 4.8 节Slide 51-55reset/run/go三条边角命令主角是run——用自定义环境变量实现网络启动 / eMMC 启动一键切换课件例 3Linux 系统调试期的日常动作。这也是第 4 章收官篇U-Boot 的命令行武器库到本篇全部过手。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

软件测试实战指南:接口、性能、APP与自动化四大技能详解 2026/10/2 13:22:34

软件测试实战指南:接口、性能、APP与自动化四大技能详解

干测试这一行的人应该都有体会,招聘要求翻来覆去就是那几样:接口测试、性能测试、APP测试、自动化测试。我在这个行业里泡了十年,从外包到自研、从金融领域到电商项目都接触过,踩坑无数,今天把那些真正能落地的测试实战…

阅读更多 →
56G PAM4 SerDes接收机BBCDR与DCO设计实践 2026/10/2 13:22:34

56G PAM4 SerDes接收机BBCDR与DCO设计实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
可复现的大数据实验报告:集群部署、MapReduce清洗与Hive分析 2026/10/2 13:22:34

可复现的大数据实验报告:集群部署、MapReduce清洗与Hive分析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
KGAT解析:知识图谱与图注意力网络驱动的推荐系统 2026/10/2 13:22:22

KGAT解析:知识图谱与图注意力网络驱动的推荐系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
嵌入式硬件RC/LC/RL滤波器设计避坑指南:从器件非理想性到PCB实现 2026/10/2 13:22:21

嵌入式硬件RC/LC/RL滤波器设计避坑指南:从器件非理想性到PCB实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
华为系网络安全合规校验清单:从考试题到工程落地 2026/10/2 13:22:15

华为系网络安全合规校验清单:从考试题到工程落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉