3 Replies Latest reply on Dec 19, 2014 6:00 PM by tintar

    trying to modify boot process with syslinux

    tintar

      this is quite likely pilot error of some sort, but -

       

      I only wanted to APPEND some parameters in /boot/syslinux.cfg, but they're not taking effect, and /proc/cmdline doesn't show what I'd added.

       

      also, the actual the boot cmdline does show a heck of a lot more than what's in the (fairly minimal) syslinux confg

       

      sooo... is there u-boot / EFI type stuff happening elsewhere? (apologies in advance, I haven't read through the bitbaking docs and no doubt it's in there)

        • 1. Re: trying to modify boot process with syslinux
          JPMontero_Intel

          Hi tintar,

           

          I’d suggest you to check the BSP guide https://communities.intel.com/docs/DOC-23159 section 3.5. In this section you’ll find how to add a recipe for a systemd service, but I think the documents of systemd might you and they could be useful to what you are trying to do. I hope this helps you.

           

          Regards,
          JPMontero_Intel

          1 of 1 people found this helpful
          • 2. Re: trying to modify boot process with syslinux
            alitt

            Edison's kernel command line comes from elsewhere.  The syslinux.cfg is an artifact of the Yocto build process.  Edison doesn't use syslinux, or even a "legacy" BIOS for that matter.

             

            Edison's "BIOS" is a combination of the Intel-provided IFWI blobs and the open source U-Boot bootloader.  U-Boot has environment variables containing boot scripts and parameters that control the early boot process, as opposed to the boot device list and MBR bootloaders that legacy PC BIOSes have.

             

            You can access the U-Boot command line from the serial console by rebooting the Edison and hitting <enter> at the "Press any key" prompt.  The commands printenv and setenv can be used to read and change the variables.

             

            Alternatively, Yocto has the fw_getenv and fw_printenv commands for editing U-Boot environment variables from within Linux.

             

            The kernel command line on Edison is built up at runtime depending on the boot mode.  For appending something to the line, you can add to the "bootargs_debug" variable.  Normally bootargs_debug=loglevel=4, but you can add your new parameters to the end like this:

             

            fw_setenv bootargs_debug "loglevel=4 your_parameter_here=something"

             

            or at the U-Boot prompt

             

            setenv bootargs_debug "loglevel=4 your_parameter_here=something"

             

            and view the results with "fw_printenv bootargs_debug" or "printenv bootargs_debug".

             

            If you get stuck, you can change it back on the serial console by breaking into U-Boot as I mentioned before.

            1 of 1 people found this helpful
            • 3. Re: trying to modify boot process with syslinux
              tintar

              thanks for the useful link and suggestion, JPMontero_Intel - looking at some other threads, I hadn't realized systemd could be involved at boot time (but all I want to do is pass some driver params, sorry if I was unclear)

               

              alitt - thank you! I had this terrible suspicion it was going to be something like that - modem connection at boot time!

               

              was hoping to be able to make adjustments from runtime, but ran into some issues

              - missing fw_env.config (I'm on emutex/ubilinux) - no big problem: I crabbed an example from the yocto rootfs img file.

              - I think this debian version of u-boot-tools may be outdated, it only knows how to deal with MTD not MMC

               

              so it looks as if I either can try to patch/compile later u-boot-tools that understand about eMMC;

              or simply deal with the bother and make changes over USB modem

               

              anyways, thanks to you both!