Direct boot

The dboot command simplifies operating system bootup by performing the following operations:

Syntax

'dboot' syntax
=> help dboot - Digi modules boot command

Usage:
dboot <os> [source] [extra-args...]
 Description: Boots <os> via <source>
 Arguments:
   - os:           one of the operating systems reserved names: 
                   linux|android
   - [source]:     tftp|nfs|nand|mmc
   - [extra-args]: extra arguments depending on 'source'

      source=tftp|nfs -> [filename]
       - filename: file to transfer (if not provided, filename will
                   will be taken from variable $zimage)

      source=nand -> [partition] [filename]
       - partition: partition name (if not provided, a partition 
                    with the name of the OS will be assumed)
       - filename: file to transfer (if not provided, filename will
                   will be taken from variable $zimage)

      source=mmc -> [device:part] [filesystem] [filename]
       - device:part: number of device and partition
       - filesystem: fat (default)|ext4
       - filename: file to transfer (if not provided, filename will
                   will be taken from variable $zimage)

Examples

Example 1: Boot Linux from TFTP using kernel image zImage-test

=> dboot linux tftp zImage-test

Example 2: Boot Android from FAT partition 1 on the microSD card (kernel image name is taken by default from variable $zimage):

=> dboot android mmc

Customization of 'dboot' using environment variables

The behavior of the dboot command is highly customizable through its parameters and also using the following environment variables:

Addresses

Variable Description
$loadaddr RAM address where the kernel image is downloaded
$fdt_addr RAM address where the Flattened Device Tree image is downloaded
$initrd_addr RAM address where the init ramdisk image is downloaded

Image file names

Variable Description
$zimage Kernel image filename (or $uimage for systems configured to boot uImage kernel images)
$fdt_file Flattened Device Tree image filename
$initrd_file Init ramdisk image filename

Modifiers

Variable Description
$boot_fdt

Whether the kernel requires a Flattened Device Tree (FDT). Valid values are:

  • yes: FDT is required. If it cannot be downloaded, dboot command will fail.
  • try: FDT is optional. dboot will try to load it but will continue to boot the kernel without it if not available.
  • no: FDT is not required. dboot will not try to download it.
$boot_initrd

Whether the kernel requires an init ramdisk. Valid values are:

  • yes: Init ramdisk is required. If it cannot be downloaded, dboot command will fail.
  • try: Init ramdisk is optional. dboot will try to load it but will continue to boot the kernel without it if not available.
  • no: Init ramdisk is not required. dboot will not try to download it.

Source media

Variable Description
$mmcdev Default MMC device index to read files from (when no device index is passed as parameter). U-Boot sets this variable to point to the MMC device index U-Boot has booted from.
$mmcpart Default MMC partition index to read files from (when no partition index is passed as parameter).

Boot arguments

Variable Description
$bootargs_android Contains common Android boot arguments (independent of the media Android is booting from).

$bootargs_mmc_android

$bootargs_nand_android

$bootargs_tftp_android

$bootargs_nfs_android

Scripts that set the $bootargs variable with Android boot arguments when booting from MMC, NAND, TFTP, or NFS, respectively.
$bootargs_mmc_linux
$bootargs_nand_linux $bootargs_tftp_linux
$bootargs_nfs_linux
Scripts that set the $bootargs variable with Linux boot arguments when booting from MMC, NAND, TFTP, or NFS, respectively.
$rootpath NFS root path to use in the $bootargs variable when booting from TFTP/NFS.
$mmcroot Root path to use in the $bootargs variable when booting from MMC.
$mtdrootfsindex Index number of the MTD partition to use as root file system when booting from NAND.
$bootargs_once

Special variable that is appended to the $bootargs. It can only be set locally with the equals sign, not with the setenv command:

 

=> bootargs_once="<arguments>"

 

Locally set variables are not saved across reboots so this will pass boot arguments to the operating system only once.

$extra_bootargs Placeholder for appending any customized boot arguments at the end of the kernel command line.

 

© 2018 Digi International Inc. All rights reserved.
Direct boot updated on 22 January 2018 02:43:37 PM