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: https://github.com/beagleboard/image-builder/blob/master/readme.md
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:
static inline int board_is_bbg1(void)
{
return board_is_bone_lt() && !strncmp(board_ti_get_rev(), "BBG1", 4);
}
static inline int board_is_bben(void)
{
return board_is_bone_lt() && !strncmp(board_ti_get_rev(), "SE", 2);
}
and
"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; then " \
"setenv fdtfile am335x-icev2.dtb; " \
"if test $ice_mii = mii; then " \
"setenv pxe_label_override Pruss; fi;" \
"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" \
NANDARGS \
This file has been truncated. show original
Regards,