Show Contents

# Direct boot

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

- Downloads the required files (kernel, flattened device tree, init ramdisk) from the specified media to RAM
- Sets the bootargs variable with the boot command line required for the selected operating system
- Boots the system

## 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