> It is possible u-boot is not setting the boardid the kernel > uses to decide which devices are present. > > In u-boot you can try: > > printenv machid > setenv machid 10bb > > which corresponds to the kernel's > > sys/arch/armv7/armv7/armv7var.h:#define BOARD_ID_SUN7I_A20 4283
You are right: printenv machid ## Error: "machid" not defined But setting it does not change anything, I am unable to load the kernel. And yes, I did save the environment after making the change and restarted the board. Here is the complete environment just in case: sunxi# printenv baudrate=115200 boot_a_script=load ${devtype} ${devnum}:${bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr} boot_extlinux=sysboot ${devtype} ${devnum}:${bootpart} any ${scriptaddr} ${prefix}extlinux/extlinux.conf boot_prefixes=/ /boot/ boot_script_dhcp=boot.scr.uimg boot_scripts=boot.scr.uimg boot.scr boot_targets=mmc0 scsi0 usb0 pxe dhcp bootcmd=run distro_bootcmd bootcmd_dhcp=usb start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi bootcmd_mmc0=setenv devnum 0; run mmc_boot bootcmd_pxe=usb start; dhcp; if pxe get; then pxe boot; fi bootcmd_scsi0=setenv devnum 0; run scsi_boot bootcmd_usb0=setenv devnum 0; run usb_boot bootdelay=2 bootm_size=0xf000000 console=ttyS0,115200 distro_bootcmd=setenv scsi_need_init; for target in ${boot_targets}; do run bootcmd_${target}; done ethaddr=02:8b:08:40:dd:b2 fdt_addr_r=0x43000000 fdtfile=sun7i-a20-cubieboard2.dtb kernel_addr_r=0x42000000 machid=10bb mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi preboot=usb start pxefile_addr_r=0x43200000 ramdisk_addr_r=0x43300000 scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${bootpart} bootfstype; then run scan_dev_for_boot; fi; done scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${bootpart} ${prefix}extlinux/extlinux.conf; then echo Found ${prefix}extlinux/extlinux.conf; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done scriptaddr=0x43100000 scsi_boot=run scsi_init; if scsi dev ${devnum}; then setenv devtype scsi; run scan_dev_for_boot_part; fi scsi_init=if ${scsi_need_init}; then setenv scsi_need_init false; scsi scan; fi serial#=1651668b0840ddb2 stderr=serial,vga stdin=serial,usbkbd stdout=serial,vga usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi Environment size: 2403/131068 bytes Maybe it is worth mentioning that I can successfully boot various Linux distributions so this rules out hardware malfunction. Kind regards, Viktor