From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kinsella, Ray Date: Fri, 4 Sep 2015 18:07:33 +0000 Subject: [Buildroot] [PATCH v3] board: add support for Intel Galileo Gen 2 In-Reply-To: <20150902000852.2892cf9d@free-electrons.com> References: <1440157889.2902.23.camel@intel.com> <20150902000852.2892cf9d@free-electrons.com> Message-ID: <1441390053.3229.0.camel@intel.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Thanks Thomas, Have confirmed support for Galileo Gen 1, Will work through your comments ASAP and get back to you. Ray K On Wed, 2015-09-02 at 00:08 +0200, Thomas Petazzoni wrote: > Ray, > > Thanks again for your contribution, definitely great to see Intel > Galileo support coming in Buildroot! See my comments below. > > On Fri, 21 Aug 2015 11:51:31 +0000, Kinsella, Ray wrote: > > > diff --git a/board/intel/galileo/S10mdev b/board/intel/galileo/S10mdev > > new file mode 100644 > > index 0000000..4f6756b > > --- /dev/null > > +++ b/board/intel/galileo/S10mdev > > @@ -0,0 +1,25 @@ > > +#!/bin/sh > > +# > > +# Start mdev.... > > +# > > + > > +case "$1" in > > + start) > > + echo "Starting mdev..." > > + echo /sbin/mdev >/proc/sys/kernel/hotplug > > + echo "Triggering pci hotplug events" > > + cd /sys/devices/pci0000:00 > > + find . -name uevent -exec /sbin/force_hotplug {} \; > > + /sbin/mdev -s > > Do we really need a custom mdev script? Could you explain why we need > this pci0000:00 magic compared to the default script? > > > diff --git a/board/intel/galileo/create-boot-sd.sh b/board/intel/galileo/create-boot-sd.sh > > new file mode 100755 > > index 0000000..93a8bbd > > --- /dev/null > > +++ b/board/intel/galileo/create-boot-sd.sh > > Ultimately, it would be good to try to use genimage to directly > generate a SD card image. Though for the time being, a shell script is > good enough. > > > diff --git a/board/intel/galileo/force_hotplug b/board/intel/galileo/force_hotplug > > new file mode 100755 > > index 0000000..d19ea00 > > --- /dev/null > > +++ b/board/intel/galileo/force_hotplug > > @@ -0,0 +1,3 @@ > > +#!/bin/sh > > + > > +echo add > $1 > > Maybe a rootfs overlay would be nicer, so that all those files get > copied properly without the need for a post-build script. > > > diff --git a/board/intel/galileo/grub.cfg b/board/intel/galileo/grub.cfg > > new file mode 100644 > > index 0000000..bf9e354 > > --- /dev/null > > +++ b/board/intel/galileo/grub.cfg > > @@ -0,0 +1,14 @@ > > +set default="0" > > +set timeout="1" > > + > > +#assumes that dos partition table is being used. > > +#assumes linux is on the second partion of the sdcard > > Nit: capital letter + space after #. > > > + > > +menuentry "Buildroot" { > > + #Grub2 supports fat/ext2, its safe to put the kernel on the Linux parition > > + #set root tells grub to seach the 2nd partition for the bzImage > > Ditto, space after #. > its -> it's. > parition -> partition > seach -> search > > > + set root=(hd0,msdos2) > > + > > + #Set Linux to boot from the 2nd partition, SD/MMC support is baked into the kernel > > + linux /boot/bzImage root=/dev/mmcblk0p2 console=ttyS1,115200n8 reboot=efi,warm apic=debug rw > > +} > > diff --git a/board/intel/galileo/linux-3.8.config b/board/intel/galileo/linux-3.8.config > > new file mode 100644 > > index 0000000..41d569d > > --- /dev/null > > +++ b/board/intel/galileo/linux-3.8.config > > @@ -0,0 +1,3067 @@ > > +# > > +# Automatically generated file; DO NOT EDIT. > > +# Linux/i386 3.8.7 Kernel Configuration > > +# > > This file is way too long. Please use make linux-savedefconfig to > generate a minimal defconfig instead. > > > > diff --git a/board/intel/galileo/mdev.conf b/board/intel/galileo/mdev.conf > > new file mode 100644 > > index 0000000..f13b7b6 > > --- /dev/null > > +++ b/board/intel/galileo/mdev.conf > > @@ -0,0 +1,38 @@ > > +# null may already exist; therefore ownership has to be changed with command > > +null root:root 666 @chmod 666 $MDEV > > +zero root:root 666 > > +full root:root 666 > > +random root:root 444 > > +urandom root:root 444 > > +hwrandom root:root 444 > > +grsec root:root 660 > > + > > +kmem root:root 640 > > +mem root:root 640 > > +port root:root 640 > > +# console may already exist; therefore ownership has to be changed with command > > +console root:tty 600 @chmod 600 $MDEV > > +ptmx root:tty 666 > > +pty.* root:tty 660 > > + > > +# Typical devices > > +tty root:tty 666 > > +tty[0-9]* root:tty 660 > > +vcsa*[0-9]* root:tty 660 > > +ttyS[0-9]* root:root 660 > > + > > +# alsa sound devices > > +pcm.* root:audio 660 =snd/ > > +control.* root:audio 660 =snd/ > > +midi.* root:audio 660 =snd/ > > +seq root:audio 660 =snd/ > > +timer root:audio 660 =snd/ > > + > > +# input stuff > > +event[0-9]+ root:root 640 =input/ > > +mice root:root 640 =input/ > > +mouse[0-9] root:root 640 =input/ > > +ts[0-9] root:root 600 =input/ > > + > > +#load modules > > +$MODALIAS=.* 0:0 660 @modprobe "$MODALIAS" > > Why do we need a custom mdev.conf file here? Is it just because of the > module loading thing? If that's the case, then I'm wondering if we > shouldn't do that by default. > > > diff --git a/board/intel/galileo/patches/binutils/2.25/default-lock-prefix.patch b/board/intel/galileo/patches/binutils/2.25/default-lock-prefix.patch > > new file mode 100644 > > index 0000000..7814ae4 > > --- /dev/null > > +++ b/board/intel/galileo/patches/binutils/2.25/default-lock-prefix.patch > > This patch requires a description + Signed-off-by line, as explained in > http://buildroot.org/downloads/manual/manual.html#_format_and_licensing_of_the_package_patches. > > I remember we discussed this issue, but I don't remember the > conclusion. Is this issue going to be fixed upstream? I vaguely > remember that there was a gcc command line option to omit the lock > prefix, but you did not use that for some reason. Could you explain > that in the patch ? > > > @@ -0,0 +1,11 @@ > > +--- a/gas/config/tc-i386.orig 2015-07-24 15:54:51.359080778 +0100 > > ++++ b/gas/config/tc-i386.c 2015-07-24 15:54:59.692192247 +0100 > > +@@ -545,7 +545,7 @@ static int allow_index_reg = 0; > > + > > + /* 1 if the assembler should ignore LOCK prefix, even if it was > > + specified explicitly. */ > > +-static int omit_lock_prefix = 0; > > ++static int omit_lock_prefix = 1; > > + > > + static enum check_kind > > + { > > diff --git a/board/intel/galileo/post-build.sh b/board/intel/galileo/post-build.sh > > new file mode 100755 > > index 0000000..e90f646 > > --- /dev/null > > +++ b/board/intel/galileo/post-build.sh > > @@ -0,0 +1,5 @@ > > +#!/bin/sh > > +cp board/intel/galileo/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg > > +cp board/intel/galileo/S10mdev ${TARGET_DIR}/etc/init.d/S10mdev > > +cp board/intel/galileo/force_hotplug ${TARGET_DIR}/sbin/force_hotplug > > +cp board/intel/galileo/mdev.conf ${TARGET_DIR}/etc/mdev.conf > > The last three lines would no longer be needed with a rootfs overlay. > > > diff --git a/configs/galileo_defconfig b/configs/galileo_defconfig > > new file mode 100644 > > index 0000000..40d4079 > > --- /dev/null > > +++ b/configs/galileo_defconfig > > @@ -0,0 +1,18 @@ > > +BR2_GLOBAL_PATCH_DIR="board/intel/galileo/patches" > > +BR2_KERNEL_HEADERS_VERSION=y > > +BR2_DEFAULT_KERNEL_VERSION="3.8" > > +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_8=y > > +BR2_BINUTILS_VERSION_2_25_X=y > > +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y > > +BR2_TARGET_GENERIC_GETTY_PORT="ttyS1" > > +BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y > > +BR2_ROOTFS_POST_BUILD_SCRIPT="board/intel/galileo/post-build.sh" > > +BR2_LINUX_KERNEL=y > > +BR2_LINUX_KERNEL_CUSTOM_GIT=y > > +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/mdr78/Linux-3.8.7-galileo.git" > > +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="d1a51d55dc67022be6c2d15163ce6dd28540042f" > > +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y > > +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/intel/galileo/linux-3.8.config" > > +BR2_LINUX_KERNEL_INSTALL_TARGET=y > > +BR2_TARGET_GRUB2=y > > +BR2_TARGET_GRUB2_I386_EFI=y > > This defconfig looks good to me. > > Thanks! > > Thomas