I want to make changes to the device tree without having to connect the USB, put my jetson TX2 in recovery, and use the flash.sh utility. I found a previous topic that covers this, but not for l4t 32.3.1.
Using information from this thread I was able to dump, decompile, modify, and recompile my device tree binary. But after writing the image back my jetson wouldn’t boot due what I think was a failure to authenticate the kernel dtb file:
[0001.597] I> Loading partition kernel-dtb at 0x80000000 from device(0x1) [0001.614] I> Kernel_dtb @0x80000000 [0001.617] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xee [0001.625] E> fetch_driver_phandle_from_dt: failed to get node with compatible ti,tca9539 [0001.636] E> fetch_driver_phandle_from_dt: failed to get node with compatible nxp,tca9539 [0001.644] W> tegrabl_tca9539_init: failed to fetch phandle from dt [0001.650] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xe8 [0001.658] E> fetch_driver_phandle_from_dt: failed to get node with compatible ti,tca9539 [0001.668] E> fetch_driver_phandle_from_dt: failed to get node with compatible nxp,tca9539 [0001.676] W> tegrabl_tca9539_init: failed to fetch phandle from dt [0001.684] I> fixed regulator driver initialized [0001.711] I> register 'maxim' power off handle [0001.716] I> virtual i2c enabled [0001.719] I> registered 'maxim,max77620' pmic [0001.724] I> tegrabl_gpio_driver_register: register 'max77620-gpio' driver [0001.733] I> Find /i2c@c250000's alias i2c7 [0001.737] I> Reading eeprom i2c=7 address=0x50 [0001.767] I> Device at /i2c@c250000:0x50 [0001.771] I> create_pm_ids: id: 3310-1000-D00-J, len: 15 [0001.776] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93 [0001.796] E> cannot find any other nvdisp nodes [0001.800] E> no valid display unit config found in dtb [0001.806] W> display init failed [0001.809] initializing target [0001.812] calling apps_init() [0001.815] starting app kernel_boot_app [0001.838] I> found decompressor handler: lz4-legacy [0001.842] I> decompressing BMP blob ... [0001.852] I> Kernel type = Normal [0001.855] I> Loading partition kernel-bootctrl at 0xa8000000 from device(0x1) [0001.869] W> tegrabl_get_kernel_bootctrl: magic number(0x00000000) is invalid [0001.876] W> tegrabl_get_kernel_bootctrl: use default dummy boot control data [0001.883] I> ########## Fixed storage boot ########## [0001.888] I> Loading kernel from partition ... [0001.892] W> No valid slot number is found in scratch register [0001.898] W> Return default slot: _a [0001.901] I> A/B: bin_type (24) slot 0 [0001.917] I> Boot image size read from image header: f2f08 [0001.922] I> Boot image load address: 0x0x80400000 [0001.927] I> Loading partition kernel at 0x80400000 from device(0x1) [0002.869] I> Validate kernel ... [0002.872] I> T18x: Authenticate kernel (bin_type 24), max size 0x4000000 [0002.880] I> kernel-dtb is already loaded [0002.884] I> Validate kernel-dtb ... [0002.887] I> T18x: Authenticate kernel-dtb (bin_type 21), max size 0x100000 [0002.894] E> Storage boot failed, err: 1077936141 [0002.899] E> A/B loader failure [0002.902] E> tegrabl_display_shutdown: display is not initialized
Can someone tell me to generate a dtb file with a valid header that can be copied to the kernel-dtb partition with