5 Replies Latest reply on Aug 21, 2015 11:38 AM by Intel_Peter

    Image Intel Galileo gen 1 for 7260 AC

    AntonioG

      Hello to all the community.

      I'm working on a project together to my university (of which I am student) with Intel Galileo gen 1 and for that I need a version superior of kernel linux which comes by default in the micro SD card intel to operate the wireless card 7260 AC.

      I've been trying to create a new image with the multitude of online support there but without result. I've seen some people do it operates and make the bootable sd image correctly, but I do not know if I'm doing wrong or if I'm completely wrong direction.

      I need a complete image of linux and I see no way to get as many errors occur. I've been reading post that have served me very helpful to learn more about it but after a month of work still nothing.

      If someone could give me some help to create the image would appreciate.

      I am very new to these issues forums and apologize in advance. Also, if there are any problems with the language (as I am not English speaking) I apologize again.

      Thank you very much in advance.

       

      AntonioG

        • 1. Re: Image Intel Galileo gen 1 for 7260 AC
          AntonioG

          So far I've tried the following:

           

          • I followed the instructions of Mr. Sergey:

          http://www.malinov.com/Home/sergey-s-blog/intelgalileo-buildinglinuximage

          Section Basic Steps to Rebuild The Image with the new Support_Package_Sources_for_Intel_Quark Board v1.1.0. but I realized that the image created by default 3.8.9 I remember.

          After that, I began to see folders settings, and I edited the file linux-yocto-quark.bb part of LINUX_VERSION? = "3.8" without knowing what I was doing and it gave me errors.

           

          • For the second I followed the instructions of Mr. Tzanussi:

          https://github.com/tzanussi/meta-micro-galileo

          Section Building and booting the meta-micro-galileo BSP layer from an SD card.

          Here I did get an image of the Kernel newest but the problem is that it is a clean image, only boot (bitbake image-micro --> "A small image just capable of allowing a device to boot"), I need a image full (with all modules (wpa_supplicant, IP, DHCP ...)). I tried to copy the file to which .bb Support_Package_Sources_for_Intel_Quark brings v1.1.0. but nothing.

           

          I do not know what to do anymore. If it is easier first thing I tried or second and add modules when compiled.

           

          Thank you.

           

          AntonioG

          • 2. Re: Image Intel Galileo gen 1 for 7260 AC
            Intel_Peter

            Hello AntonioG,

             

            This is a very interesting project; however it'll take you long and hard work to complete it. In short this is completely possible; however it's going to be a bit hard to do so.

             

            I'm not sure which specific kernel is the one that you need but I'll try to give you a short introduction on how to do this. This is a short example on how to create a vanilla kernel. First go to https://www.kernel.org/ and download the kernel you'd like to implement.

            Create a folder named galileo_kernel or whatever you like. Decompress the kernel in that folder. Once that it's done, go to linux-X.X.X/arch/x86/configs/i386_defconfig and create a copy of that file with a different name like galileo_defconfig (the file's name must end with _defconfig).

            This file will be the kernel's configuration file. Open that file and make the following changes:

             

            Comment:
            # CONFIG_SMP is not set
            # CONFIG_DRM_I915 is not set
            
            Append:
            CONFIG_BACKLIGHT_LCD_SUPPORT=y
            CONFIG_M586TSC=y
            CONFIG_X86_INTEL_QUARK=y
            CONFIG_X86_UP_IOAPIC=y
            CONFIG_X86_EXTENDED_PLATFORM=y
            CONFIG_EFI_STUB=y
            CONFIG_EARLY_PRINTK_EFI=y
            CONFIG_PM_RUNTIME=y
            CONFIG_SERIAL_8250_PCI=y
            

             

            You can check what all these files mean in  Linux Kernel Driver Database: main index.

            Next, open the terminal and go to the directory ../galileo_kernel/. Then type the command:

             

            make galileo_defconfig
            make
            

             

            The result file will be on arch/x86/boot/bzImage. You can validate it with the commands:

             

            ls –l arch/x86/boot/bzImage
            file arch/x86/boot/bzImage
            

             

            Now go to the galileo_kernel directory and clone the buildroot environment with:

             

            git clone git://git.buildroot.net/buildroot
            

             

            In the buildroot directory create a new file called configs/galileo_defconfig that contains the following lines:

             

            # Architecture
            BR2_i386=y
            BR2_x86_i586=y
            # Misc
            BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
            BR2_TARGET_GENERIC_GETTY_PORT="ttyS1"
            # Root FS
            # BR2_TARGET_ROOTFS_TAR is not set
            BR2_TARGET_ROOTFS_CPIO=y
            BR2_TARGET_ROOTFS_CPIO_BZIP2=y
            # Packages
            BR2_PACKAGE_KEXEC=y
            BR2_PACKAGE_KEXEC_ZLIB=y
            BR2_PACKAGE_LRZSZ=y
            BR2_PACKAGE_SCREEN=y
            BR2_PACKAGE_PCIUTILS=y
            BR2_PACKAGE_DMIDECODE=y
            BR2_PACKAGE_BUSYBOX_WATCHDOG=y
            

             

            Now build the root filesystem:

             

            make galileo_defconfig
            make
            

             

            Once it finishes the image will be found in output/images/rootfs.cpio.bz2. Now you should format your SD Card and copy both the kernel and filesystem to the SD Card:

             

            cp galileo_kernel/linux/arch/x86/boot/bzImage /media/sdcard/vmlinuz.efi
            cp galileo_kernel/buildroot/output/images/rootfs.cpio.bz2 /media/sdcard/initrd
            

             

            The final step is to create a grub.conf file, to do so enter the following command:

             

            mkdir -p /media/sdcard/boot/grub
            

             

            Create the file called /media/sdcard/boot/grub/grub.conf that includes the following lines:

             

            default 0
            timeout 3
            
            title Linux on Intel Galileo
              root (hd0,0)
              kernel /vmlinuz.efi console=ttyS1,115200n8
              initrd /initrd
            

             

            Now you should be able to boot from the SD Card with your Vanilla kernel. In order to add full functionality to the Galileo you have to append every driver needed to the galileo_defconfig file and also any other additional drivers you may need.

            It is also very important that you read and understand the Intel® Quark™ SoC — BSP Build Guide, so I highly suggest you to

            I hope this information helps you, as I mentioned, this is possible but will take a lot of work to get it done.

             

            Peter.

            • 3. Re: Image Intel Galileo gen 1 for 7260 AC
              AntonioG

              Hello Intel_Peter

               

              I think I've been able to build the image of the vanilla kernel version 4.1.6 (although it works with a higher version of the kernel 3.10 ), but does not respond if connect via ethernet to the router and try to access the Galilean intel by SSH. Galileo does not get an IP address. I think the only modules that I would need is to be able to connect to the Internet and can connect to it and the 7260-AC wifi plate. I don't know.

               

              Is there an example of someone who has already added new drivers to a vanilla image, as I have to do?

               

              When I have to add the driver to galileo_defconfig file, Are you referring to the first file created (linux-X.X.X/arch/x86/configs/galileo_defconfig ) or second file (buildroot/configs/galileo_defconfig)?

              Since both the same name, but not the same.

               

              Thank you very much for answering.

               

              AntonioG

              • 4. Re: Image Intel Galileo gen 1 for 7260 AC
                AntonioG

                Does anyone know whether it refers to the first or second file galileo_defconfig?

                Does anyone know if there is a similar small example that can help me?

                 

                Thank you.

                 

                AntonioG

                • 5. Re: Image Intel Galileo gen 1 for 7260 AC
                  Intel_Peter

                  Hi AntonioG,

                   

                  I'm sorry for the delay in my response. The reason why Ethernet (or pretty much anything else) doesn't work it's because as I mentioned it is a Vanilla Kernel. What that means is that it has not been customized from its original form so it hasn’t been optimized for Galileo.

                   

                  This document may help you: adding kernel modules to Yocto* - example "batman". It exemplifies how to add kernel modules to Yocto.

                   

                  The drivers have to be added to the kernel configuration file, so it would be the first file (linux-X.X.X/arch/x86/configs/galileo_defconfig). I'm sorry I didn't clarify that on my original post .

                   

                  Again, I highly suggest you to read and understand the BSP Build Guide since this is not a simple task

                   

                  Peter.