Primeiro, devo dizer que sou novo no sistema Linux, então posso explicar mal o meu problema.
Eu tenho um novo sistema embarcado, para executá-lo eu copiei o MMC de um sistema embarcado mais antigo (eles são o mesmo modelo de sistema embarcado) para um cartão SD antes de copiá-lo para o novo MMC do sistema.
Após esta operação, o sistema não inicializa e fica bloqueado após o "envio da requisição DHCP", aqui está a print:
U-Boot 2012.10 (Jun 17 2013 - 15:29:02)
CPU: Freescale i.MX28 rev1.2 at 454 MHz
BOOT: SSP SD/MMC #0, 3V3
Reset: internal
I2C: ready
DRAM: 128 MiB
MMC: MXS MMC: 0, MXS MMC: 1
MMC0: Command 8 timeout (status 0xe0384020)
MMC0: Command 55 timeout (status 0xe0284020)
In: serial
Out: serial
Err: serial
MXS MMC 0(part 0) is current device
RTC: 32KHz xtal (persistent0 0x00020121)
Net: FEC0 [PRIME]
Warning: FEC0 MAC addresses don't match:
Address in SROM is 00:04:00:00:00:00
Address in environment is 00:d0:93:28:2b:c6
, FEC1
Hit any key to stop autoboot: 0
MMC read: dev # 0, block # 32768, count 16384 ... 16384 blocks read: OK
MMC read: dev # 0, block # 12288, count 4096 ... 4096 blocks read: OK
## Flattened Device Tree blob at 41000000
Booting using the fdt blob at 0x41000000
Loading Device Tree to 47ba0000, end 47ba6f23 ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Linux version 3.5.0-20120830 (clm@i04853-ubuntu64) (gcc version 4.6.2 (OSELAS.Toolchain-2011.11.1) ) #8 Tue Jun 18 13:15:32 CEST 2013
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] Machine: Freescale i.MX28 (Device Tree), model: TQ Systems MBa28
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
[ 0.000000] Kernel command line: fec_mac=00:D0:93:28:2B:C6 ip=dhcp root=/dev/mmcblk0p3 rw rootwait console=ttyAPP3,115200 lcd_panel=fg0700 ssp1 panic=1
[ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Memory: 128MB = 128MB total
[ 0.000000] Memory: 118752k/118752k available, 12320k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xc8800000 - 0xff000000 ( 872 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc051340c (5166 kB)
[ 0.000000] .init : 0xc0514000 - 0xc0537310 ( 141 kB)
[ 0.000000] .data : 0xc0538000 - 0xc0583608 ( 302 kB)
[ 0.000000] .bss : 0xc058362c - 0xc0ad4b48 (5446 kB)
[ 0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:304
[ 0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[ 0.000000] ... MAX_LOCKDEP_SUBCLASSES: 8
[ 0.000000] ... MAX_LOCK_DEPTH: 48
[ 0.000000] ... MAX_LOCKDEP_KEYS: 8191
[ 0.000000] ... CLASSHASH_SIZE: 4096
[ 0.000000] ... MAX_LOCKDEP_ENTRIES: 16384
[ 0.000000] ... MAX_LOCKDEP_CHAINS: 32768
[ 0.000000] ... CHAINHASH_SIZE: 16384
[ 0.000000] memory used by lock dependency info: 3695 kB
[ 0.000000] per task-struct memory footprint: 1152 bytes
[ 0.070000] Calibrating delay loop... 226.09 BogoMIPS (lpj=1130496)
[ 0.070000] pid_max: default: 32768 minimum: 301
[ 0.070000] Mount-cache hash table entries: 512
[ 0.100000] CPU: Testing write buffer coherency: ok
[ 0.100000] Setting up static identity map for 0x403a6a98 - 0x403a6af0
[ 0.110000] devtmpfs: initialized
[ 0.130000] pinctrl core: initialized pinctrl subsystem
[ 0.130000] dummy:
[ 0.140000] NET: Registered protocol family 16
[ 0.190000] Serial: AMBA PL011 UART driver
[ 0.190000] 80074000.serial: ttyAMA0 at MMIO 0x80074000 (irq = 47) is a PL011 rev2
[ 0.230000] bio: create slab <bio-0> at 0
[ 0.240000] mxs-dma 80004000.dma-apbh: initialized
[ 0.250000] mxs-dma 80024000.dma-apbx: initialized
[ 0.250000] 3P3V: 3300 mV
[ 0.250000] vddio-sd0: 3300 mV
[ 0.260000] usb0_vbus: 5000 mV
[ 0.260000] usb1_vbus: 5000 mV
[ 0.260000] SCSI subsystem initialized
[ 0.260000] usbcore: registered new interface driver usbfs
[ 0.260000] usbcore: registered new interface driver hub
[ 0.260000] usbcore: registered new device driver usb
[ 0.300000] Advanced Linux Sound Architecture Driver Version 1.0.25.
[ 0.300000] Switching to clocksource mxs_timer
[ 0.430000] FS-Cache: Loaded
[ 0.440000] CacheFiles: Loaded
[ 0.500000] NET: Registered protocol family 2
[ 0.500000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.500000] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.500000] TCP bind hash table entries: 4096 (order: 5, 147456 bytes)
[ 0.510000] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.510000] TCP: reno registered
[ 0.510000] UDP hash table entries: 256 (order: 2, 20480 bytes)
[ 0.510000] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)
[ 0.510000] NET: Registered protocol family 1
[ 0.510000] RPC: Registered named UNIX socket transport module.
[ 0.510000] RPC: Registered udp transport module.
[ 0.510000] RPC: Registered tcp transport module.
[ 0.510000] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.590000] NFS: Registering the id_resolver key type
[ 0.590000] Key type id_resolver registered
[ 0.600000] msgmni has been set to 231
[ 0.600000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[ 0.600000] io scheduler noop registered (default)
[ 0.610000] mxsfb 80030000.lcdif: initialized
[ 0.620000] Serial: AMBA driver
[ 0.620000] uart-pl011 80074000.serial: no DMA platform data
[ 0.620000] 8006a000.serial: ttyAPP0 at MMIO 0x8006a000 (irq = 112) is a 8006a000.serial
[ 0.620000] mxs-auart 8006a000.serial: Found APPUART 3.1.0
[ 0.620000] 80070000.serial: ttyAPP3 at MMIO 0x80070000 (irq = 115) is a 80070000.serial
[ 1.090000] console [ttyAPP3] enabled
[ 1.100000] mxs-auart 80070000.serial: Found APPUART 3.1.0
[ 1.110000] [drm] Initialized drm 1.1.0 20060810
[ 1.110000] at24 0-0050: 8192 byte 24c64 EEPROM, writable, 32 bytes/write
[ 1.120000] CAN device driver interface
[ 1.130000] flexcan 80032000.can: device registered (reg_base=f5032000, irq=8)
[ 1.140000] flexcan 80034000.can: device registered (reg_base=f5034000, irq=9)
[ 1.180000] fec_enet_mii_bus: probed
[ 1.190000] Initializing USB Mass Storage driver...
[ 1.200000] usbcore: registered new interface driver usb-storage
[ 1.200000] USB Mass Storage support registered.
[ 1.210000] usbcore: registered new interface driver usbserial
[ 1.220000] usbserial: USB Serial Driver core
[ 1.220000] usbcore: registered new interface driver ftdi_sio
[ 1.230000] USB Serial support registered for FTDI USB Serial Device
[ 1.230000] ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver
[ 1.240000] usbcore: registered new interface driver pl2303
[ 1.250000] USB Serial support registered for pl2303
[ 1.270000] ci_hdrc ci_hdrc.0: ChipIdea HDRC EHCI
[ 1.270000] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
[ 1.330000] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[ 1.330000] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.340000] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.350000] usb usb1: Product: ChipIdea HDRC EHCI
[ 1.350000] usb usb1: Manufacturer: Linux 3.5.0-20120830 ehci_hcd
[ 1.360000] usb usb1: SerialNumber: ci_hdrc.0
[ 1.370000] hub 1-0:1.0: USB hub found
[ 1.380000] hub 1-0:1.0: 1 port detected
[ 1.400000] ci_hdrc ci_hdrc.1: ChipIdea HDRC EHCI
[ 1.400000] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 2
[ 1.460000] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
[ 1.460000] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.470000] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.480000] usb usb2: Product: ChipIdea HDRC EHCI
[ 1.480000] usb usb2: Manufacturer: Linux 3.5.0-20120830 ehci_hcd
[ 1.490000] usb usb2: SerialNumber: ci_hdrc.1
[ 1.500000] hub 2-0:1.0: USB hub found
[ 1.500000] hub 2-0:1.0: 1 port detected
[ 1.510000] input: MXS touchscreen as /devices/virtual/input/input0
[ 1.520000] i2c /dev entries driver
[ 1.530000] lm73 0-0049: hwmon0: sensor 'lm73'
[ 1.530000] lm73 0-004a: hwmon1: sensor 'lm73'
[ 1.580000] mxs-mmc 80010000.ssp: initialized
[ 1.630000] mxs-mmc 80012000.ssp: initialized
[ 1.630000] usbcore: registered new interface driver usbhid
[ 1.640000] usbhid: USB HID core driver
[ 1.660000] mmc0: new high speed MMC card at address 0001
[ 1.670000] sgtl5000 0-000a: sgtl5000 revision 0x11
[ 1.680000] mmcblk0: mmc0:0001 002G00 1.82 GiB
[ 1.680000] mmcblk0boot0: mmc0:0001 002G00 partition 1 512 KiB
[ 1.690000] 0-000a: 1200 mV normal
[ 1.700000] mmcblk0boot1: mmc0:0001 002G00 partition 2 512 KiB
[ 1.710000] sgtl5000 0-000a: Using internal LDO instead of VDDD
[ 1.730000] mmcblk0: p1 p2 p3 p4
[ 1.750000] mmcblk0boot1: unknown partition table
[ 1.760000] mmcblk0boot0: unknown partition table
[ 1.770000] asoc: sgtl5000 <-> 80042000.saif mapping ok
[ 1.780000] asoc: sgtl5000 <-> 80046000.saif mapping ok
[ 1.800000] TCP: cubic registered
[ 1.800000] NET: Registered protocol family 17
[ 1.810000] can: controller area network core (rev 20090105 abi 8)
[ 1.810000] NET: Registered protocol family 29
[ 1.820000] can: raw protocol (rev 20090105)
[ 1.820000] can: broadcast manager protocol (rev 20090105 t)
[ 1.830000] Key type dns_resolver registered
[ 1.840000] registered taskstats version 1
[ 1.850000] eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=800f0000.etherne:00, irq=-1)
[ 1.860000] eth1: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=800f0000.etherne:01, irq=-1)
[ 6.860000] PHY: 800f0000.etherne:01 - Link is Up - 10/Half
[ 6.890000] Sending DHCP requests .
[ 8.860000] PHY: 800f0000.etherne:01 - Link is Down
[ 10.220000] .
[ 10.860000] PHY: 800f0000.etherne:01 - Link is Up[ 10.860000] - 10/Half
[ 11.850000] PHY: 800f0000.etherne:00 - Link is Up - 10/Half
[ 12.860000] PHY: 800f0000.etherne:01 - Link is Down
[ 15.670000] .
PHY: 800f0000.etherne:00 - Link is Down
[ 18.860000] PHY: 800f0000.etherne:01 - Link is Up - 10/Half
[ 19.850000] PHY: 800f0000.etherne:00 - Link is Up - 10/Half
[ 20.860000] PHY: 800f0000.etherne:01 - Link is Down
[ 21.850000] PHY: 800f0000.etherne:00 - Link is Down
[ 23.860000] PHY: 800f0000.etherne:01 - Link is Up - 10/Half
[ 24.830000] .
[ 29.860000] PHY: 800f0000.etherne:01 - Link is Down
[ 32.860000] PHY: 800f0000.etherne:01 - Link is Up - 10/Half
[ 33.850000] PHY: 800f0000.etherne:00 - Link is Up - 10/Half
[ 34.860000] PHY: 800f0000.etherne:01 - Link is Down
[ 35.850000] PHY: 800f0000.etherne:00 - Link is Down
[ 35.860000] PHY: 800f0000.etherne:01 - Link is Up - 10/Half
[ 37.860000] PHY: 800f0000.etherne:01 - Link is Down
Então o único acesso que tenho ao meu sistema é o u-boot, aqui está o printenv se puder ajudar:
addether=setenv bootargs $bootargs fec_mac=$ethaddr
addip=if test "$ipmode" != static; then run addip_dyn; else run addip_static; fi
addip_dyn=setenv bootargs $bootargs ip=dhcp
addip_static=setenv bootargs $bootargs ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off
addlcd=setenv bootargs $bootargs lcd_panel=$lcdpanel
addmisc=setenv bootargs $bootargs ssp1 panic=1
addmmc=setenv bootargs $bootargs root=/dev/mmcblk${mmcdev}p3 rw rootwait
addnfs=setenv bootargs $bootargs root=/dev/nfs rw ramdisk_size=$rd_size nfsroot=$serverip:$rootpath,v3,tcp
addtty=setenv bootargs $bootargs console=$console,$baudrate
baudrate=115200
boot_nfs=run addether addip addnfs addtty addlcd addmisc; tftp $loadaddr $kernel; tftp $fdtaddr $dtb; bootz $loadaddr - $fdtaddr
boot_ssp=run addether addip addmmc addtty addlcd addmisc; mmc read $loadaddr 8000 4000; mmc read $fdtaddr 3000 1000; bootz $loadaddr - $fdtaddr
bootcmd=run boot_ssp
bootdelay=1
bootfile=zImage
console=ttyAPP3
dtb=imx28-mba28.dtb
erase_env=mw.b $loadaddr 0 512; mmc write $loadaddr 2 1
eth1addr=00:04:00:00:00:01
ethact=FEC0
ethaddr=00:D0:93:28:2B:C6
ethaddr1=00:D0:93:28:2B:C7
ethprime=FEC0
fdtaddr=0x41000000
install_firmware=echo Downloading MBR... && mmc dev 1 && mmc read $loadaddr 0 1 && mmc dev 0 && mmc write $loadaddr 0 1 && echo Installing device tree blob... && mmc dev 1 && mmc read $loadaddr 3000 1000 && mmc dev 0 && mmc write $loadaddr 3000 1000 && echo Installing U-Boot... && mmc dev 1 && mmc read $loadaddr 4000 4000 && mmc dev 0 && mmc write $loadaddr 4000 4000 && echo Installing Kernel... && mmc dev 1 && mmc read $loadaddr 8000 4000 && mmc dev 0 && mmc write $loadaddr 8000 4000 && echo Installing Root FS (90 MiB chunks) && run root_loop
ipaddr=172.168.135.170
ipmode=dynamic
kernel=zImage
lcdpanel=fg0700
loadaddr=0x42000000
mmc=mmc dev 0; setenv mmcdev 0; run boot_ssp
mmcdev=0
n=run boot_nfs
netdev=eth0
netmask=255.255.255.0
p=ping $serverip
rd_size=16384
root_loop=setenv start C000 && setenv r1 $rootblks16 && if itest $r1 -gt 0x2D000; then setenv count 0x2D000; else setenv count $r1; fi && while itest $r1 -gt 0; do mmc dev 1 && mmc read $loadaddr $start $count && mmc dev 0 && mmc write $loadaddr $start $count && setexpr start $start + $count && setexpr r1 $r1 - $count && if itest $r1 -gt 0x2D000; then setenv count 2D000; else setenv count $r1; fi ; done; setenv r1; setenv start; setenv count
rootblks16=0x20000
rootpath=/exports/nfsroot
sd=mmc dev 1; setenv mmcdev 1; run boot_ssp
serverip=172.168.135.107
stderr=serial
stdin=serial
stdout=serial
uboot=u-boot.sb
upd_fdt_net=tftp $dtb && setexpr r1 $filesize / 0x200 && setexpr r1 $r1 + 1 && mmc dev 0 && mmc write $loadaddr 3000 $r1 && echo Copied device tree blob from ethernet to emmc
upd_fdt_sd=mmc dev 1 && mmc read $loadaddr 3000 1000 && mmc dev 0 && mmc write $loadaddr 3000 1000 && echo Copied device tree blob from sd card to emmc
upd_kernel_net=tftp $kernel && setexpr r1 $filesize / 0x200 && setexpr r1 $r1 + 1 && mmc dev 0 && mmc write $loadaddr 8000 $r1 && echo Copied Kernel image from ethernet to emmc
upd_kernel_sd=mmc dev 1 && mmc read $loadaddr 8000 4000 && mmc dev 0 && mmc write $loadaddr 8000 4000 && echo Copied Kernel image from sd card to emmc
upd_uboot_net=tftp $uboot && setexpr r1 $filesize / 0x200 && setexpr r1 $r1 + 1 && mmc dev 0 && mmc write $loadaddr 4001 $r1 && mw 0x80056078 0x2 && echo Copied U-Boot image from ethernet to emmc
upd_uboot_sd=mmc dev 1 && mmc read $loadaddr 4000 4000 && mmc dev 0 && mmc write $loadaddr 4000 4000 && mw 0x80056078 0x2 && echo Copied U-Boot image from sd card to emmc
ver=U-Boot 2012.10 (Jun 17 2013 - 15:29:02)
Environment size: 3736/130044 bytes
Eu acho que essa é toda a informação que eu tenho, se alguém puder ajudar seria fantástico!
Atenciosamente para todos.
Tags linux linux-kernel u-boot