7 Replies Latest reply on May 25, 2015 8:29 PM by lth

    Edison `boot` options

    MarkOg

      When you interrupt the boot of the Edison, instead of asking for a username and password a command line interface is started.

       

      boot >

       

      `help` shows a list of commands, but they don't fit all on the screen. There's no scrolling option, so I have no idea what options above `icache` are available. `more` isn't supported, so I can't pipe it in there either.

      How do I get the full list of commands?

      Is any documentation about those commands available? The usage patterns of the commands on the Edison are limited and it's hard to find examples of how to use `part list` for obvious reasons.

        • 1. Re: Edison `boot` options
          Intel_Alvarado

          Hi,

           

          And what are you using as a terminal emulator? I am using putty and I have the scrolling option so yours is maybe not enabled. To enable it in the Putty configuration screen go to “Window” and check the display scrollbar option.

           

          Also, check out this link about U-Boot, you may find it helpful Using U-Boot | STLinux

           

          Sergio

          • 2. Re: Edison `boot` options
            MarkOg

            My development machine runs Ubuntu 14.04 LTS. My terminal emulator is `screen`. As far as I'm aware, it has no scrolling option.

             

            There may be a version difference, but your link does not include all options available. For example, I have the following three commands which are not mentioned in the list of your link.

            out - write datum to IO port
            part- disk partition related commands
            pci - list and access PCI Configuration Space
            • 3. Re: Edison `boot` options
              EthanHunt

              Hello MarkOg,

              Use " help | less " command to see all the options that are available for boot. To scroll up and down in the list just use up and down arrow keys and to quit from that use " :q " .

              • 4. Re: Edison `boot` options
                MarkOg

                help | less

                throws a syntax error.

                • 5. Re: Edison `boot` options
                  Intel_Alvarado

                  Hi,

                   

                  I’ve been trying to list all options using screen but I also don’t get to see all available options of help in the “boot>” menu without scrolling. This is a limitation of screen. I’d suggest you to download a terminal emulator such as Putty to have the scrolling option. See PuTTY Download Page

                   

                  Sergio

                  • 6. Re: Edison `boot` options
                    EthanHunt

                    MarkOg,

                     

                    Yes, better to go with Putty software in that you can scroll your screen. That will be last option , I have also checked with Screen application but somehow it won't allow to scroll so maybe that's the limitation of it. So go with Intel_Alvarado's solution.

                    • 7. Re: Edison `boot` options
                      lth

                      Something like this:

                      boot > help
                      ?       - alias for 'help'
                      askenv  - get environment variables from stdin
                      base    - print or set address offset
                      bdinfo  - print Board Info structure
                      boot    - boot default, i.e., run 'bootcmd'
                      bootd   - boot default, i.e., run 'bootcmd'
                      bootelf - Boot from an ELF image in memory
                      bootm   - boot application image from memory
                      bootvx  - Boot vxWorks from an ELF image
                      cmp     - memory compare
                      coninfo - print console devices and information
                      cp      - memory copy
                      crc32   - checksum calculation
                      dcache  - enable or disable data cache
                      dfu     - Device Firmware Upgrade
                      echo    - echo args to console
                      editenv - edit environment variable
                      env     - environment handling commands
                      exit    - exit script
                      ext4load- load binary file from a Ext4 filesystem
                      ext4ls  - list files in a directory (default /)
                      ext4write- create a file in the root directory
                      false   - do nothing, unsuccessfully
                      fatinfo - print information about filesystem
                      fatload - load binary file from a dos filesystem
                      fatls   - list files in a directory (default /)
                      fatwrite- write file into a dos filesystem
                      gettime - get timer val elapsed,
                      
                      go      - start application at address 'addr'
                      gpt     - GUID Partition Table
                      grepenv - search environment variables
                      hash    - compute message digest
                      help    - print command description/usage
                      icache  - enable or disable instruction cache
                      in      - read data from an IO port
                      ini     - parse an ini file in memory and merge the specified section into the env
                      interrupts- enable or disable interrupts
                      irqinfo - print information about IRQs
                      itest   - return true/false on integer compare
                      load    - load binary file from a filesystem
                      loadb   - load binary file over serial line (kermit mode)
                      loads   - load S-Record file over serial line
                      loadx   - load binary file over serial line (xmodem mode)
                      loady   - load binary file over serial line (ymodem mode)
                      loop    - infinite loop on address range
                      ls      - list files in a directory (default /)
                      md      - memory display
                      meminfo - display memory information
                      mm      - memory modify (auto-incrementing address)
                      mmc     - MMC sub system
                      mmcinfo - display MMC info
                      mw      - memory write (fill)
                      nm      - memory modify (constant address)
                      out     - write datum to IO port
                      part    - disk partition related commands
                      pci     - list and access PCI Configuration Space
                      printenv- print environment variables
                      read    - Load binary data from a partition
                      reginfo - print register information
                      reset   - Perform RESET of the CPU
                      run     - run commands in an environment variable
                      saveenv - save environment variables to persistent storage
                      setenv  - set environment variables
                      setexpr - set environment variable as the result of eval expression
                      sha1sum - compute SHA1 message digest
                      showvar - print local hushshell variables
                      sleep   - delay execution for some time
                      source  - run script from memory
                      test    - minimal test like /bin/sh
                      timer   - access the system timer
                      true    - do nothing, successfully
                      version - print monitor, compiler and linker version
                      zboot   - Boot bzImage
                      

                      I guess the environment is interesting too:

                      boot > printenv
                      audio_codec_name=audio_codec="dummy"
                      boot_target_cmd=run do_flash_os;run do_probe_dfu;run do_compute_target;run mmc-bootargs;run load_kernel;zboot ${loadaddr}
                      bootargs_console=console=ttyMFD2 earlyprintk=ttyMFD2,keep
                      bootargs_debug=loglevel=4
                      bootargs_ethconfig=cdc
                      bootargs_target=multi-user
                      bootcmd=echo "Target:${target_name}"; run do_partition; run do_handle_bootargs_mode;
                      bootdelay=1
                      dfu_alt_info_ram=kernel ram ${loadaddr} 0x800000
                      dfu_alt_info_reset=reset ram 0x0 0x0
                      dfu_to_sec=3
                      do_audio_support=setenv audio_support platform_mrfld_audio.${audio_codec_name}
                      do_boot=run boot_target_cmd;
                      do_bootargs_rootfs=setenv bootargs_rootfs rootwait root=PARTUUID=${uuid_rootfs} rootfstype=ext4
                      do_compute_target=if itest.b ${first_install_retry} -gt ${first_install_max_retries} || itest.b ${ota_update_retry} -gt ${ota_update_max_retries}; then echo "Switch to Rescue target"; setenv bootargs_target rescue; saveenv; fi
                      do_dfu_alt_info_ifwi=setenv dfu_alt_info "ifwi${hardware_id} mmc 0 8192 mmcpart 1;ifwib${hardware_id} mmc 0 8192 mmcpart 2"
                      do_dfu_alt_info_mmc=setenv dfu_alt_info "ifwi${hardware_id} mmc 0 8192 mmcpart 1;ifwib${hardware_id} mmc 0 8192 mmcpart 2;u-boot0 part 0 1;u-boot-env0 part 0 2;u-boot1 part 0 3;u-boot-env1 part 0 4;boot part 0 7;rootfs part 0 8;update part 0 9;home part 0 10;vmlinuz fat 0 7;initrd fat 0 7"
                      do_dnx=setenv dfu_alt_info ${dfu_alt_info_ram};dfu 0 ram 0 ram;run bootcmd
                      do_fallback=echo "Unknown boot mode: $bootargs_mode"; env delete -f bootargs_mode; saveenv; echo "Resetting to default boot mode and reboot..."; reset;
                      do_flash=run do_force_flash_os;
                      do_flash_ifwi=run do_dfu_alt_info_ifwi ; dfu 0 mmc 0
                      do_flash_os=if itest.b ${do_flash_os_done} -eq 1 ; then echo "Flashing already done..." ; else run do_force_flash_os; fi
                      do_flash_os_done=1
                      do_flashall=run do_partition;run do_flash_ifwi;run do_flash_os
                      do_force_flash_os=run do_dfu_alt_info_mmc ; sleep 1 ; setenv do_flash_os_done 1 ; saveenv ; dfu 0 mmc 0
                      do_force_partition=echo "Partitioning using GPT"; gpt write mmc 0 ${partitions} ; mmc rescan; setenv do_partition_done 1 ; saveenv
                      do_handle_bootargs_mode=run do_preprocess_bootargs_mode; if itest.s $bootargs_mode == "ota" ; then run do_ota; fi; if itest.s $bootargs_mode == "boot" ; then run do_boot; fi; if itest.s $bootargs_mode == "flash"; then run do_flash; fi; run do_fallback; exit;
                      do_load_ota_scr=if fatload mmc 0:9 $ota_script_addr ota_update.scr ; then setenv ota_status 0 ; else setenv ota_status 1 ; fi
                      do_ota=run do_ota_init ; run do_load_ota_scr ; run do_source_ota_scr ; run do_ota_clean
                      do_ota_clean=saveenv ; reset
                      do_ota_init=setenv ota_status 1 ; env delete -f bootargs_mode
                      do_partition=if itest.b ${do_partition_done} -eq 1; then echo "Partitioning already done..."; else run do_force_partition ; fi
                      do_partition_done=1
                      do_preprocess_bootargs_mode=if env exists bootargs_mode ; then ; else setenv bootargs_mode "boot" ;fi;
                      do_probe_dfu=run do_dfu_alt_info_mmc ; dfu 0 mmc 0 $dfu_to_sec
                      do_source_ota_scr=if test $ota_status -eq 0 ; then if source $ota_script_addr ; then setenv ota_status 0 ; else setenv ota_status 2 ; fi ; fi
                      first_install_max_retries=3
                      first_install_retry=0
                      hardware_id=00
                      init_dfu=run do_dfu_alt_info_mmc ; saveenv
                      load_kernel=fatload mmc 0:7 ${loadaddr} vmlinuz
                      loadaddr=0x100000
                      mmc-bootargs=run do_bootargs_rootfs; run do_audio_support; setenv bootargs ${bootargs_rootfs} ${bootargs_console} ${bootargs_debug} g_multi.ethernet_config=${bootargs_ethconfig} systemd.unit=${bootargs_target}.target hardware_id=${hardware_id} g_multi.iSerialNumber=${serial#} g_multi.dev_addr=${usb0addr} ${audio_support}
                      ota_done=0
                      ota_script_addr=0x100000
                      ota_update_max_retries=3
                      ota_update_retry=0
                      partitions=uuid_disk=${uuid_disk};name=u-boot0,start=1MiB,size=2MiB,uuid=${uuid_uboot0};name=u-boot-env0,size=1MiB,uuid=${uuid_uboot_env0};name=u-boot1,size=2MiB,uuid=${uuid_uboot1};name=u-boot-env1,size=1MiB,uuid=${uuid_uboot_env1};name=factory,size=1MiB,uuid=${uuid_factory};name=panic,size=24MiB,uuid=${uuid_panic};name=boot,size=32MiB,uuid=${uuid_boot};name=rootfs,size=1536MiB,uuid=${uuid_rootfs};name=update,size=768MiB,uuid=${uuid_update};name=home,size=-,uuid=${uuid_home};
                      serial#=5b27aa44f006b1284d9d46891c9e77c7
                      stderr=serial
                      stdin=serial
                      stdout=serial
                      target_name=blank
                      usb0addr=02:00:86:9e:77:c7
                      uuid_boot=db88503d-34a5-3e41-836d-c757cb682814
                      uuid_disk=21200400-0804-0146-9dcc-a8c51255994f
                      uuid_factory=333a128e-d3e3-b94d-92f4-d3ebd9b3224f
                      uuid_home=f13a0978-b1b5-1a4e-8821-39438e24b627
                      uuid_panic=f20aa902-1c5d-294a-9177-97a513e3cae4
                      uuid_rootfs=012b3303-34ac-284d-99b4-34e03a2335f4
                      uuid_uboot0=d117f98e-6f2c-d04b-a5b2-331a19f91cb2
                      uuid_uboot1=8a4bb8b4-e304-ae48-8536-aff5c9c495b1
                      uuid_uboot_env0=25718777-d0ad-7443-9e60-02cb591c9737
                      uuid_uboot_env1=08992135-13c6-084b-9322-3391ff571e19
                      uuid_update=faec2ecf-8544-e241-b19d-757e796da607
                      
                      Environment size: 4962/65531 bytes
                      
                      1 of 1 people found this helpful