5 Replies Latest reply on Jan 19, 2015 2:01 AM by 0andriy

    Boot options

    faceplant

      Is the Edison module capable of booting off an external SD card?  If it's not supported in the hardware/firmware, could it be added to uboot?  It would be handy for trying out alternative operating systems, and possibly for recovering a "bricked" Edison.

        • 1. Re: Boot options
          Intel_Alvarado

          Hi faceplant,

           

          I believe you can boot off an external SD card. There is firmware called IFWI that loads U-Boot as a user-accessible 2nd stage OS loader. This will let you try an alternative OS. Let us know if this works.

           

          Regards

          Sergio

          • 2. Re: Boot options
            intel_lucas

            I doubt that the current version of the U-Boot implementation allows reading a SD card. This means that you are not able to fetch the initial kernel from the SD card.

            There is a kind of workaround solution that uses the initial kernel from the Yocto distribution and uses the SD card just as source for the root file system.  Since pretty much of the used kernel drivers are build into the kernel and not build as loadable module the SD card support is really integrated into the kernel.

            Nevertheless you have the problem that there are a few modules and firmware files which are used by the kernel and these are residing on the eMMC (default root file system). To overcome this issue you can copy just the /lib/firmware and /lib/modules folder of a booted Edison installation to the SD card system (for sure into the corresponding location).

            To get the U-Boot using a different root file system you have to break the boot and enter the U-Boot command line. There you can use the env edit command and edit these two environment variables mmc-bootargs and bootargs_debug.

            Change the first one to: setenv bootargs root=/dev/mmcblk1p1 rootfstype=ext4 ${bootargs_console} ${bootargs_debug} systemd.unit=${bootargs_target}.target hardware_id=${hardware_id} g_multi.iSerialNumber=${serial#}

            and the second one to: loglevel=7

            This assumes that your root file system is on the first primary partition of the SD card, and file system type is ext4.

             

            Good luck!

            • 3. Re: Boot options
              Intel_Alvarado

              Hi faceplant

              Were the previous suggestions helpful? Let us know if you still need assistance.

              Regards

              Sergio

              • 4. Re: Boot options
                faceplant

                Sergio,

                 

                I tried doing as intel_lucas suggested and putting the root filesystem on an sd card and changing the root= in uboot, and it did not work.  For some reason the kernel couldn't mount the filesystem.  I was able to boot off of another partition on the internal flash, so I know changing the boot options works.

                 

                This is not as high a priority, since there is now a Debian flashable filesystem, but it would be nice to figure out.

                 

                Thanks,

                 

                Brian

                • 5. Re: Boot options
                  0andriy

                  I have also tried to get SD card contents on Edison, but it seems U-Boot is compiled without either SD card support or TFTP support.