Android Customizing IMX8 U-Boot

From Variscite Wiki
Android - Customizing U-boot


This section explains how to customize bootloader and update it on VAR-SOM-MX6 platform via adb.

Making changes to U-boot

Making Changes to U-boot config

$ cd ~/var_n_711_100/n_711_100_build/vendor/variscite/uboot-imx/
$ make mrproper
$ make mx6var_som_sd_android_defconfig
$ make menuconfig

Navigate the menu and select the desired u-boot functionalities, save the new configuration and exit.
Then, save the new configuration as the default configuration:

$ make savedefconfig
$ cp configs/mx6var_som_sd_android_defconfig cp configs/mx6var_som_sd_android_defconfig.orig 
$ cp defconfig configs/mx6var_som_sd_android_defconfig

Clean the u-boot source code as Android build the u-boot in out/target/product//obj/UBOOT_OBJ/

Edit U-Boot command line arguments to kernel Change following macro

	"bootargs=" \

And append "androidboot.selinux=permissive\0" to the kernel

	"bootargs=" \

Here above is example adding "androidboot.selinux=permissive" to the kernel command line,

Compile U-Boot

Compile the new U-Boot When you perform changes to the u-boot, you may build u-boot.img-sd solely instead of building the whole Android.

$ cd ~/var_n_711_100/n_711_100_build
$ source build/
$ lunch -userdebug
$ make bootloader

After build is complete it should generate u-boot.img-sd in out/target/product/

$ ls -l out/target/product//*.imx

You should see u-boot.img-sd correctly.

Update U-Boot

There are two methods from which you can update bootloader, Flash the binaries following Android Recovery SD card and replacing your binaries in /opt/images/Android/
Boot from Yocto, and run

  • Note: This erases everything and installs everything

If you wish to just update u-boot, and your platform already has the bootloader and adb running use below commands to flash directly to eMMC.

$ cd ~/var_n_711_100/n_711_100_build
$ adb root;sleep 3;
$ adb push out/target/product//u-boot.img-sd /data/
$ adb shell 'dd if=/data/u-boot.img-sd of=/dev/block/mmcblk0 bs=1k seek= conv=fsync'
$ adb shell sync
$ adb reboot