imx6q调试android7问题Unrecognized filesystem type Bad Linux ARM zImage magic!

来源:互联网 发布:cpda数据分析师 编辑:程序博客网 时间:2024/05/16 12:57

在freescale imx6q板上移植android7到时遇到一个很麻烦的问题:

用mfgtools工具下载android镜像后,启动日志:

U-Boot 2015.04-dirty (Aug 15 2017 - 10:08:15)CPU:   Freescale i.MX6Q rev1.5 at 792 MHzCPU:   Temperature 32 CReset cause: PORBoard: MX6-SabreSDI2C:   readyDRAM:  2 GiBPMIC:  PFUZE100 ID=0x10MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2*** Warning - bad CRC, using default environmentNo panel detected: default to Hannstar-XGADisplay: Hannstar-XGA (1024x768)In:    serialOut:   serialErr:   serialswitch to partitions #0, OKmmc2(part 0) is current deviceNet:   FEC [PRIME]Error: FEC address not set.Normal BootHit any key to stop autoboot:  0 switch to partitions #0, OKmmc2(part 0) is current device** Unrecognized filesystem type **** Unrecognized filesystem type **Booting from net ...FEC Waiting for PHY auto negotiation to complete......... TIMEOUT !*** ERROR: `ethaddr' not setFEC Waiting for PHY auto negotiation to complete......... TIMEOUT !FEC Waiting for PHY auto negotiation to complete......... TIMEOUT !*** ERROR: `ethaddr' not setFEC Waiting for PHY auto negotiation to complete......... TIMEOUT !Bad Linux ARM zImage magic!

在uboot启动时总是报错:** Unrecognized filesystem type **和

Booting from net ...FEC Waiting for PHY auto negotiation to complete......... TIMEOUT !*** ERROR: `ethaddr' not set
找了很久用prinenv可以看出boot参数乱七八糟。再看下官方给的启动参数说明,可以肯定是uboot版本编译出错:

=> printenv baudrate=115200boot_fdt=trybootargs=console=ttymxc0,115200 root=/dev/nfs ip=dhcp nfsroot=:,v3,tcpbootcmd=mmc dev ${mmcdev};if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else run neibootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};bootdelay=1bootscript=echo Running bootscript from mmc ...; sourceconsole=ttymxc0emmcdev=2epdc_waveform=epdc_splash.binethact=FECethprime=FECfdt_addr=0x18000000fdt_file=imx6q-sabresd.dtbfdt_high=0xffffffffget_cmd=dhcpimage=zImageinitrd_addr=0x12C00000initrd_high=0xffffffffip_dyn=yesloadaddr=0x12000000loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}mfgtool_args=setenv bootargs console=ttymxc0,115200 rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.file=/fat g_mass_storage.ro=1 g_mas mmcargs=setenv bootargs console=${console},${baudrate} ${smp} root=${mmcroot}mmcautodetect=yesmmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdt_addr}; else if ;mmcdev=2mmcpart=1mmcroot=/dev/mmcblk3p2 rootwait rwnetargs=setenv bootargs console=${console},${baudrate} ${smp} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcpnetboot=echo Booting from net ...; run netargs; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${image}; if test ${boot_fdt;script=boot.scrupdate_emmc_firmware=if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; if ${get_cmd} ${update_sd_firmware_filename}; then if mmc dev ${emiupdate_sd_firmware=if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; if mmc dev ${mmcdev}; then if ${get_cmd} ${update_sd_firmware_filenai



查看本人原来为了编辑方便写的uboot编译脚本文件m.uboot.sh

root@myComputer:/home/jobs/project/myandroid/bootable/bootloader/uboot-imx# cat m.uboot.sh #!/bin/bashexport ARCH=armexport CROSS_COMPILE=/home/jobs/project/myandroid/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-make distclean#To build uboot.imx that is used in Android platform#make mx6qsabresdandroid_config#To build uboot.img that is used in MFGTOOLmake mx6qsabresd_configmake
原本想编译android启动uboot却编译成了mfgtool下载用的uboot文件,查下官方给的文档说明。



make mx6qsabresd_config改成make mx6qsabresdandroid_config就ok了!






阅读全文
0 0