dzhou:
My question is which module (U-BOOT, Kernel) is checking the board_id? Or both are checking the ID.
I assume if U-Boot is checking the id, then I only need to modify the u-boot code to by-pass the id checking, which will lead to Debian (kernel) booting.
U-Boot is reading the device ID to figure out which board it’s booting on:
dzhou:
Also, I found it is hard to locate the exact version of u-boot source code to download. There are many related sites hosting u-boot source. My current version of u-boot is
U-Boot 2019.04-00002-gb96b20de74 (Jun 25 2019 - 11:39:43 -0500), Build: jenkins-github_Bootloader-Builder-122
That is the current shipping build, it matches this git checkout and 2 patches:
dzhou:
I downloaded u-boot source from:
http://github.con/u-boot/u-boot.git
as (from master branch)
ver=U-Boot 2020.07-00442-g186529953f (Jul 08 2020 - 14:03:50 -0400)
I am not sure the latest is the greatest and it really is also for BeagleBone Black.
But it compiled and loaded and run from RAM.
Mainline u-boot will run fine on the board.
Here is BeagleBoard.org ’s list of id’s: image-builder/readme.md at master · beagleboard/image-builder · GitHub
The first part of the eeprom:
aa 55 33 ee 41 33 33 35 42 4e 4c 54
Means AM335X, DDR3, TPS65217C or OSD3358
The next 4 ASCI characters determine which model..
For example:
and
"if test $board_name = BBELITE; then " \
"setenv fdtfile am335x-sancloud-bbe-lite.dtb; fi; " \
"if test $board_name = BBE_EX_WIFI; then " \
"setenv fdtfile am335x-sancloud-bbe-extended-wifi.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; \0" \
"init_console=" \
"if test $board_name = A335_ICE; then "\
"setenv console ttyO3,115200n8;" \
"else " \
"setenv console ttyO0,115200n8;" \
"fi;\0" \
This file has been truncated. show original
Regards,