# These settings override settings from the compiled-in defaults
bootfile=vmlinuz
optargs=loglevel=7 init=/sbin/init cros_legacy cros_debug oops=panic panic=-1 noinitrd vt.global_cursor_default=0 capemgr.enable_partno=BB-UART1,BB-UART2,BB-UART4,BB-UART5,bone-servo-gpios,bone-servo-spi1

# Support for selecting the Chromium OS boot partition; we load a
# boot script file selected by the install/update process.  The
# script contains two settings:  ${kernelpart} and ${rootpart}.
# Currently, we use only the ${kernelpart} setting.
bootscript=u-boot/boot.scr.uimg
loadscript=load mmc ${mmcdev}:c ${loadaddr} ${bootscript}
setbootpart=setenv bootpart ${mmcdev}:${rootpart}
setmmcroot=setenv mmcroot /dev/mmcblk${mmcdev}p${rootpart} ro
# Our beaglebone kernel build puts device tree files in /boot/dts/ instead of
# /boot.
setfdtfile=setenv fdtfile dts/${fdtfile}

# The beaglebone compiled-in boot command runs uenvcmd after
# loading this file, and before loading/booting the kernel.
uenvcmd=run findfdt ; run setfdtfile ; run loadscript ; source ${loadaddr} ; run setbootpart ; run setmmcroot
