大家好,最近在使用am335x新版的processor-sdk-linux-am335x-evm-06.03.00.106-Linux 。板子是自制的,使用的是AM3359,1GB DDR3,512MB NandFlash,没有外接TF卡,没有带EEPROM,两路RGMII都使用上了,目前编译的方向是向A335X_SK靠近,使用am335x-evmsk.dtb,目前已经将MLO、u-boot.img、zImage、dtb、ubi(am335x-evm-06.03.00.106-Linux.bin中filesystem文件夹中自带的ubi文件)等按照如下地址烧录到NandFlash中,
=> mtdparts
device nand0 <nand.0>, # parts = 10
#: name size offset mask_flags
0: NAND.SPL 0x00020000 0x00000000 0
1: NAND.SPL.backup1 0x00020000 0x00020000 0
2: NAND.SPL.backup2 0x00020000 0x00040000 0
3: NAND.SPL.backup3 0x00020000 0x00060000 0
4: NAND.u-boot-spl-os 0x00040000 0x00080000 0
5: NAND.u-boot 0x00100000 0x000c0000 0
6: NAND.u-boot-env 0x00020000 0x001c0000 0
7: NAND.u-boot-env.backup10x00020000 0x001e0000 0
8: NAND.kernel 0x00800000 0x00200000 0
9: NAND.file-system 0x1f600000 0x00a00000 0
active partition: nand0,0 - (NAND.SPL) 0x00020000 @ 0x00000000
但是通过run nandboot运行时会在ubi相关位置出错并卡住,相关信息如下:
NAND write: device 0 offset 0xa00000, size 0x19e0000
27131904 bytes written: OK
=> run nandboot
Booting from nand ...
NAND read: device 0 offset 0x80000, size 0x40000
262144 bytes read: OK
NAND read: device 0 offset 0x200000, size 0x800000
8388608 bytes read: OK
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Loading Device Tree to 8fff3000, end 8ffffd2b ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.19.94-gbe5389fd85 (root@ubuntu) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 PREEMPT Thu Jul 9 15:26:32 CST 2020
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: TI AM335x EVM-SK
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] cma: Reserved 48 MiB at 0xbd000000
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] AM335X ES2.1 (sgx neon)
[ 0.000000] random: get_random_bytes called from start_kernel+0xa4/0x434 with crng_init=0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 260416
[ 0.000000] Kernel command line: console=ttyO0,115200n8 root=ubi0:rootfs rw ubi.mtd=NAND.file-system,2048 rootfstype=ubifs rootwait=1
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 975336K/1048576K available (9216K kernel code, 307K rwdata, 2720K rodata, 1024K init, 252K bss, 24088K reserved, 49152K cma-reserved, 212992K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xf0800000 - 0xff800000 ( 240 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0x(ptrval) - 0x(ptrval) (10208 kB)
[ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (1024 kB)
[ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 308 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 253 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrupts
[ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
[ 0.000020] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000051] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000067] OMAP clocksource: timer1 at 24000000 Hz
[ 0.000317] timer_probe: no matching timers found
[ 0.000564] Console: colour dummy device 80x30
[ 0.000600] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
[ 0.000609] This ensures that you still see kernel messages. Please
[ 0.000618] update your kernel commandline.
[ 0.000691] Calibrating delay loop... 597.60 BogoMIPS (lpj=2988032)
[ 0.118689] pid_max: default: 32768 minimum: 301
[ 0.118984] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.119013] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.120111] CPU: Testing write buffer coherency: ok
[ 0.120196] CPU0: Spectre v2: using BPIALL workaround
[ 0.121360] Setting up static identity map for 0x80100000 - 0x80100060
[ 0.121571] rcu: Hierarchical SRCU implementation.
[ 0.122046] EFI services will not be available.
[ 0.124061] devtmpfs: initialized
[ 0.136432] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 0.136952] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.136987] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.141822] pinctrl core: initialized pinctrl subsystem
[ 0.142875] DMI not present or invalid.
[ 0.143471] NET: Registered protocol family 16
[ 0.146605] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.177622] l4_wkup_cm:clk:0010:0: failed to disable
[ 0.232831] cpuidle: using governor ladder
[ 0.232883] cpuidle: using governor menu
[ 0.240169] OMAP GPIO hardware version 0.1
[ 0.254700] No ATAGs?
[ 0.254716] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.275163] edma 49000000.edma: TI EDMA DMA engine driver
[ 0.277385] v1_8d: supplied by vbat
[ 0.277810] v3_3d: supplied by vbat
[ 0.281752] SCSI subsystem initialized
[ 0.282415] media: Linux media interface: v0.10
[ 0.282481] videodev: Linux video capture interface: v2.00
[ 0.282607] pps_core: LinuxPPS API ver. 1 registered
[ 0.282620] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.282653] PTP clock support registered
[ 0.282703] EDAC MC: Ver: 3.0.0
[ 0.284168] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[ 0.285025] Advanced Linux Sound Architecture Driver Initialized.
[ 0.286666] clocksource: Switched to clocksource timer1
[ 0.298828] NET: Registered protocol family 2
[ 0.299968] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes)
[ 0.300017] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.300133] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.300243] TCP: Hash tables configured (established 8192 bind 8192)
[ 0.300417] UDP hash table entries: 512 (order: 1, 8192 bytes)
[ 0.300460] UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
[ 0.300674] NET: Registered protocol family 1
[ 0.301455] RPC: Registered named UNIX socket transport module.
[ 0.301475] RPC: Registered udp transport module.
[ 0.301485] RPC: Registered tcp transport module.
[ 0.301494] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.302788] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[ 0.304602] Initialise system trusted keyrings
[ 0.305046] workingset: timestamp_bits=14 max_order=18 bucket_order=4
[ 0.312141] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.313174] NFS: Registering the id_resolver key type
[ 0.313228] Key type id_resolver registered
[ 0.313241] Key type id_legacy registered
[ 0.313301] ntfs: driver 2.1.32 [Flags: R/O].
[ 0.316514] Key type asymmetric registered
[ 0.316540] Asymmetric key parser 'x509' registered
[ 0.316638] bounce: pool size: 64 pages
[ 0.316860] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[ 0.316880] io scheduler noop registered
[ 0.316891] io scheduler deadline registered
[ 0.317250] io scheduler cfq registered (default)
[ 0.317268] io scheduler mq-deadline registered
[ 0.317279] io scheduler kyber registered
[ 0.320001] pinctrl-single 44e10800.pinmux: 142 pins, size 568
[ 0.325140] pwm-backlight backlight: backlight supply power not found, using dummy regulator
[ 0.325285] pwm-backlight backlight: Linked as a consumer to regulator.0
[ 0.396062] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[ 0.401731] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 30, base_baud = 3000000) is a 8250
[ 1.048373] console [ttyS0] enabled
[ 1.054768] omap_rng 48310000.rng: Random Number Generator ver. 20
[ 1.061203] random: fast init done
[ 1.064886] random: crng init done
[ 1.070573] tilcdc-panel panel: found backlight
[ 1.075618] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.082687] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.089341] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.095306] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.102008] [drm] No driver support for vblank timestamp query.
[ 1.113333] Console: switching to colour frame buffer device 60x34
[ 1.122284] tilcdc 4830e000.lcdc: fb0: DRM emulated frame buffer device
[ 1.129743] [drm] Initialized tilcdc 1.0.0 20121205 for 4830e000.lcdc on minor 0
[ 1.153747] brd: module loaded
[ 1.166302] loop: module loaded
[ 1.173565] libphy: Fixed MDIO Bus: probed
[ 1.246771] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
[ 1.254485] davinci_mdio 4a101000.mdio: detected phy mask fffffffc
[ 1.262950] libphy: 4a101000.mdio: probed
[ 1.267128] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver Atheros 8035 ethernet
[ 1.276398] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver Atheros 8035 ethernet
[ 1.287163] cpsw 4a100000.ethernet: Detected MACID = 10:ce:a9:8f:99:48
[ 1.293907] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
[ 1.300420] cpsw 4a100000.ethernet: ALE Table size 1024
[ 1.305731] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
[ 1.314158] cpsw 4a100000.ethernet: cpsw: Detected MACID = 10:ce:a9:8f:99:4a
[ 1.323284] i2c /dev entries driver
[ 1.329754] cpuidle: enable-method property 'ti,am3352' found operations
[ 1.337233] sdhci: Secure Digital Host Controller Interface driver
[ 1.343450] sdhci: Copyright(c) Pierre Ossman
[ 1.348873] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
[ 1.357694] omap_hsmmc 48060000.mmc: Got CD GPIO
[ 1.364507] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.372703] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.385798] NET: Registered protocol family 10
[ 1.392409] Segment Routing with IPv6
[ 1.396226] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 1.403344] NET: Registered protocol family 17
[ 1.408351] Key type dns_resolver registered
[ 1.412976] omap_voltage_late_init: Voltage driver support not added
[ 1.420688] Loading compiled-in X.509 certificates
[ 1.466895] tps65910 0-002d: No interrupt support, no core IRQ
[ 1.474162] tps65910-pmic: probe of tps65910-pmic failed with error -121
[ 1.482314] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 1.489328] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
[ 1.498159] omap_hsmmc 48060000.mmc: Got CD GPIO
[ 1.505330] omap_hsmmc 481d8000.mmc: Linked as a consumer to regulator.6
[ 1.623325] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
[ 1.632168] omap_hsmmc 48060000.mmc: Got CD GPIO
[ 1.639484] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
[ 1.648415] omap_hsmmc 48060000.mmc: Got CD GPIO
[ 1.654633] UBI error: cannot open mtd NAND.file-system, error -2
[ 1.662701] input: gpio_buttons0 as /devices/platform/gpio_buttons0/input/input0
[ 1.672336] omap_gpio 44e07000.gpio: Could not set line 6 debounce to 200000 microseconds (-22)
[ 1.681456] hctosys: unable to open rtc device (rtc0)
[ 1.687636] ALSA device list:
[ 1.690727] omap_hsmmc 48060000.mmc: Got CD GPIO
[ 1.695441] No soundcards found.
[ 1.701018] VFS: Cannot open root device "ubi0:rootfs" or unknown-block(0,0): error -19
[ 1.709196] Please append a correct "root=" boot option; here are the available partitions:
[ 1.717661] 0100 65536 ram0
[ 1.717667] (driver?)
[ 1.723803] 0101 65536 ram1
[ 1.723806] (driver?)
[ 1.730001] 0102 65536 ram2
[ 1.730005] (driver?)
[ 1.736139] 0103 65536 ram3
[ 1.736142] (driver?)
[ 1.742368] 0104 65536 ram4
[ 1.742372] (driver?)
[ 1.748532] 0105 65536 ram5
[ 1.748536] (driver?)
[ 1.754669] 0106 65536 ram6
[ 1.754673] (driver?)
[ 1.760837] 0107 65536 ram7
[ 1.760841] (driver?)
[ 1.766995] 0108 65536 ram8
[ 1.766998] (driver?)
[ 1.773132] 0109 65536 ram9
[ 1.773135] (driver?)
[ 1.779299] 010a 65536 ram10
[ 1.779303] (driver?)
[ 1.785524] 010b 65536 ram11
[ 1.785527] (driver?)
[ 1.791768] 010c 65536 ram12
[ 1.791772] (driver?)
[ 1.798012] 010d 65536 ram13
[ 1.798015] (driver?)
[ 1.804236] 010e 65536 ram14
[ 1.804239] (driver?)
[ 1.810546] 010f 65536 ram15
[ 1.810551] (driver?)
[ 1.816808] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 1.825128] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---
启动会卡在这里,我的uboot信息以及uboot的env信息如下:
U-Boot SPL 2019.01-gc148924-dirty (Jul 15 2020 - 10:23:25 +0800)
Trying to boot from NAND
U-Boot 2019.01-gc148924-dirty (Jul 15 2020 - 10:23:25 +0800)
CPU : AM335X-GP rev 2.1
Model: TI AM335x EVM
DRAM: 1 GiB
NAND: 512 MiB
MMC: OMAP SD/MMC: 0
Loading Environment from FAT...
<ethaddr> not set. Validating first E-fuse MAC
Net: eth0: ethernet@4a100000
Warning: usb_ether MAC addresses don't match:
Address in ROM is de:ad:be:ef:00:01
Address in environment is 10:ce:a9:8f:99:4a
, eth1: usb_ether
Hit any key to stop autoboot: 0
MMC Device 1 not found
no mmc device at slot 1
MMC Device 1 not found
no mmc device at slot 1
## Error: "bootcmd_nand0" not defined
starting USB...
USB0: Port not available.
link up on port 0, speed 1000, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
这里就开始启动网络处理了,我这里配置好ipaddr serverip后可以进行tftp操作。
---------------------------------------------------------------------------------------------------------------------------------
以下是我的printenv信息:
=> printenv
arch=arm
args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
baudrate=115200
board=am335x
board_name=A335X_SK
board_rev=1.0
board_serial=00000000
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
boot_efi_binary=if fdt addr ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr ${fdtcontroladdr};fi;load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootarm.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf}
boot_fdt=try
boot_fit=0
boot_net_usb_start=usb start
boot_prefixes=/ /boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_syslinux_conf=extlinux/extlinux.conf
boot_targets=mmc0 legacy_mmc0 mmc1 legacy_mmc1 nand0 pxe dhcp
bootcmd=if test ${boot_fit} -eq 1; then run update_to_fit; fi; run findfdt; run init_console; run envboot; run distro_bootcmd
bootcmd_dhcp=run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00010:UNDI:003000;setenv bootp_arch 0xa;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci;
bootcmd_legacy_mmc0=setenv mmcdev 0; setenv bootpart 0:2 ; run mmcboot
bootcmd_legacy_mmc1=setenv mmcdev 1; setenv bootpart 1:2 ; run mmcboot
bootcmd_mmc0=setenv devnum 0; run mmc_boot
bootcmd_mmc1=setenv devnum 1; run mmc_boot
bootcmd_nand=run nandboot
bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi
bootcount=1
bootdelay=2
bootdir=/boot
bootenvfile=uEnv.txt
bootfile=zImage
bootm_size=0x10000000
bootpart=1:2
bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
console=ttyO0,115200n8
cpu=armv7
devnum=1
devtype=mmc
dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 1 1;spl-os-image fat 1 1;u-boot.img fat 1 1;uEnv.txt fat 1 1
dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 0 1;spl-os-image fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1
dfu_alt_info_nand=SPL part 0 1;SPL.backup1 part 0 2;SPL.backup2 part 0 3;SPL.backup3 part 0 4;u-boot part 0 5;u-boot-spl-os part 0 6;kernel part 0 8;rootfs part 0 9
dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
efi_dtb_prefixes=/ /dtb/ /dtb/current/
envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootscript; then run bootscript;else if run loadbootenv; then echo Loaded env from ${bootenvfile};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;fi;fi;
eth1addr=10:ce:a9:8f:99:4a
ethact=ethernet@4a100000
ethaddr=10:ce:a9:8f:99:48
fdt_addr_r=0x88000000
fdtaddr=0x88000000
fdtcontroladdr=bdf248d8
fdtfile=am335x-evmsk.dtb
findfdt=if test $board_name = A335BONE; then setenv fdtfile am335x-bone.dtb; fi; if test $board_name = A335BNLT; then setenv fdtfile am335x-boneblack.dtb; fi; if test $board_name = A335PBGL; then setenv fdtfile am335x-pocketbeagle.dtb; fi; if test $board_name = BBBW; then setenv fdtfile am335x-boneblack-wireless.dtb; fi; if test $board_name = BBG1; then setenv fdtfile am335x-bonegreen.dtb; fi; if test $board_name = BBGW; then setenv fdtfile am335x-bonegreen-wireless.dtb; fi; if test $board_name = BBBL; then setenv fdtfile am335x-boneblue.dtb; fi; if test $board_name = BBEN; then setenv fdtfile am335x-sancloud-bbe.dtb; fi; if test $board_name = A33515BB; then setenv fdtfile am335x-evm.dtb; fi; if test $board_name = A335X_SK; then setenv fdtfile am335x-evmsk.dtb; fi; if test $board_name = A335_ICE && test $ice_mii = rmii; then setenv fdtfile am335x-icev2.dtb; fi; if test $board_name = A335_ICE && test $ice_mii = mii; then setenv fdtfile am335x-icev2-prueth.dtb; fi; if test $fdtfile = undefined; then echo WARNING: Could not determine device tree to use; fi;
finduuid=part uuid mmc ${bootpart} uuid
fit_bootfile=fitImage
fit_loadaddr=0x90000000
get_overlaystring=for overlay in $overlay_files;do;setenv overlaystring ${overlaystring}'#'${overlay};done;
ice_mii=mii
importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
init_console=if test $board_name = A335_ICE; then setenv console ttyO3,115200n8;else setenv console ttyO0,115200n8;fi;
kernel_addr_r=0x82000000
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
loadaddr=0x82000000
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
loadfit=run args_mmc; run run_fit;
loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz
mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi
mmcboot=mmc dev ${mmcdev}; setenv devnum ${mmcdev}; setenv devtype mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then if test ${boot_fit} -eq 1; then run loadfit; else run mmcloados;fi;fi;fi;
mmcdev=1
mmcloados=run args_mmc; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdtaddr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
mmcrootfstype=ext4 rootwait
mtdids=nand0=nand.0
mtdparts=mtdparts=nand.0:128k(NAND.SPL),128k(NAND.SPL.backup1),128k(NAND.SPL.backup2),128k(NAND.SPL.backup3),256k(NAND.u-boot-spl-os),1m(NAND.u-boot),128k(NAND.u-boot-env),128k(NAND.u-boot-env.backup1),8m(NAND.kernel),-(NAND.file-system)
nandargs=setenv bootargs console=${console} ${optargs} root=${nandroot} rootfstype=${nandrootfstype}
nandboot=echo Booting from nand ...; run nandargs; nand read ${fdtaddr} NAND.u-boot-spl-os; nand read ${loadaddr} NAND.kernel; bootz ${loadaddr} - ${fdtaddr}
nandroot=ubi0:rootfs rw ubi.mtd=NAND.file-system,2048
nandrootfstype=ubifs rootwait=1
netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp
netboot=echo Booting from network ...; setenv autoload no; dhcp; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} - ${fdtaddr}
netloadfdt=tftp ${fdtaddr} ${fdtfile}
netloadimage=tftp ${loadaddr} ${bootfile}
nfsopts=nolock
partitions=uuid_disk=${uuid_gpt_disk};name=bootloader,start=384K,size=1792K,uuid=${uuid_gpt_bootloader};name=rootfs,start=2688K,size=-,uuid=${uuid_gpt_rootfs}
pxefile_addr_r=0x80100000
ramargs=setenv bootargs console=${console} ${optargs} root=${ramroot} rootfstype=${ramrootfstype}
ramboot=echo Booting from ramdisk ...; run ramargs; bootz ${loadaddr} ${rdaddr} ${fdtaddr}
ramdisk_addr_r=0x88080000
ramroot=/dev/ram0 rw
ramrootfstype=ext2
rdaddr=0x88080000
rootpath=/export/rootfs
run_fit=bootm ${fit_loadaddr}#${fdtfile}${overlaystring}
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi;
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootarm.efi; then echo Found EFI removable media binary efi/boot/bootarm.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
scriptaddr=0x80000000
serial#=00000000
soc=am33xx
spiargs=setenv bootargs console=${console} ${optargs} root=${spiroot} rootfstype=${spirootfstype}
spiboot=echo Booting from spi ...; run spiargs; sf probe ${spibusno}:0; sf read ${loadaddr} ${spisrcaddr} ${spiimgsize}; bootz ${loadaddr}
spibusno=0
spiimgsize=0x362000
spiroot=/dev/mtdblock4 rw
spirootfstype=jffs2
spisrcaddr=0xe0000
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=serial@44e09000
stdin=serial@44e09000
stdout=serial@44e09000
ubifs_boot=env exists bootubipart || env set bootubipart UBI; env exists bootubivol || env set bootubivol boot; if ubi part ${bootubipart} && ubifsmount ubi${devnum}:${bootubivol}; then setenv devtype ubi; run scan_dev_for_boot; fi
update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile}
usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi
usbnet_devaddr=de:ad:be:ef:00:01
vendor=ti
ver=U-Boot 2019.01-gc148924-dirty (Jul 15 2020 - 10:23:25 +0800)
Environment size: 10378/131068 bytes
-------------------------------------------------------------------
请教各位大神,是我的uboot内容不对,还是ubi文件需要重新编译?从网上搜到的信息基本都是按照 Ubifs文件系统的制作和启动.pdf 这个文件制作,但是文件中所说的路径和宏好像都发生了变化,感觉已经不适用了。编译uboot以及linux时都是在根目录下直接用make就可以完成的,但是没有找到ubi的make方式。
并且menuconfig也是按照/board-support/u-boot-2019.01+gitAUTOINC+333c3e72d3-g333c3e72d3/configs/am335x_evm_defconfig 这个文件来执行的,我想关闭了usb ethernet ,关闭了am335x_evm_defconfig里面的相关宏,编译时也会报错。