> 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

Reply via email to