From 1654eb914e7ebc530bee72097e6389ca6b21e94c Mon Sep 17 00:00:00 2001 From: Justin Settle Date: Thu, 7 Nov 2013 21:57:45 -0500 Subject: [PATCH] Unified builds (multi-dtb) uImages for Snow/Spring kernel.its now builds one uImage with dtb for both systems (3 dtbs actually as snow now has 2 dtbs). uBoot should select the right one - it does on the Spring. THIS NEEDS TESTING ON SNOW. --- core/linux-chromebook-next/PKGBUILD | 136 ++++++------------ core/linux-chromebook-next/config | 87 +++++------ core/linux-chromebook-next/kernel.its | 63 ++++++++ .../linux-chromebook.install | 18 +++ core/linux-chromebook/PKGBUILD | 134 ++++++----------- core/linux-chromebook/config | 7 +- core/linux-chromebook/kernel.its | 32 ++++- 7 files changed, 244 insertions(+), 233 deletions(-) create mode 100644 core/linux-chromebook-next/kernel.its create mode 100644 core/linux-chromebook-next/linux-chromebook.install diff --git a/core/linux-chromebook-next/PKGBUILD b/core/linux-chromebook-next/PKGBUILD index 1212782ea..c46c8841a 100644 --- a/core/linux-chromebook-next/PKGBUILD +++ b/core/linux-chromebook-next/PKGBUILD @@ -4,28 +4,26 @@ buildarch=4 pkgbase=linux-chromebook-next -pkgname=("${pkgbase}" "${pkgbase}-samsung" "${pkgbase}-hp") +pkgname=('linux-chromebook-next' 'linux-headers-chromebook-next') pkgver=20131105 -_kernelname=${pkgbase#linux} -_desc="ChromiumOS kernel with ArchLinux ARM tweaks" +_kernelname=${pkgname#linux} +pkgdesc="ChromiumOS kernel with ArchLinux ARM tweaks" _basever=3.8 pkgrel=1 arch=('armv7h') -url="http://git.chromium.org/gitweb/?p=chromiumos/third_party/kernel-next.git;a=summary" +url="https://chromium.googlesource.com/chromiumos/third_party/kernel-next/+/chromeos-3.8" license=('GPL2') makedepends=('uboot-mkimage' 'dtc' 'git') options=('!strip') source=("config" - 'kernel-snow.its' - 'kernel-spring.its') -md5sums=('0824ea75b4e1d4c7f1faa4a9f7722afa' - '1afa2f66d5cbb9199f1d8f501079b80e' - '28ea64945020bc779cd18e016de4354b') + 'kernel.its') +md5sums=('d962608f0bab66f73bef0f8c178573ed' + '2d4ae6b8e9881ada57fef36346e51054') -_gitroot='https://git.chromium.org/git/chromiumos/third_party/kernel-next.git' +_gitroot='https://chromium.googlesource.com/chromiumos/third_party/kernel-next.git' _gitname='chromeos-3.8' _gitbranch='chromeos-3.8' -_gitcommit='98d6fa96' +_gitcommit='0a9be90' prepare() { cd "${srcdir}/" @@ -47,15 +45,14 @@ prepare() { cp "${srcdir}/config" .config # .its files for FIT Images - cp "${srcdir}/kernel-snow.its" arch/arm/boot/kernel-snow.its - cp "${srcdir}/kernel-spring.its" arch/arm/boot/kernel-spring.its + cp "${srcdir}/kernel.its" arch/arm/boot/kernel.its } build() { cd "${srcdir}/${_gitname}" # get kernel version - make prepare + #make prepare # load configuration # Configure the kernel. Replace the line below with one of your choice. @@ -79,38 +76,15 @@ build() { # build! make ${MAKEFLAGS} zImage modules dtbs -} - -_package-samsung() { - pkgdesc="${_desc} - Samsung Chromebook (Snow)" - provides=('linux-chromebook-uImage') - conflicts=('linux-chromebook-hp') - - mkdir -p "${pkgdir}/boot" - cd "${srcdir}/${_gitname}" cd arch/arm/boot - - mkimage -f kernel-snow.its "${pkgdir}/boot/vmlinux.uimg" + mkimage -f kernel.its vmlinux.uimg } -_package-hp() { - pkgdesc="${_desc} - HP Chromebook 11 (Spring)" - provides=('linux-chromebook-uImage') - conflicts=('linux-chromebook-samsung') - - mkdir -p "${pkgdir}/boot" - cd "${srcdir}/${_gitname}" - cd arch/arm/boot - - mkimage -f kernel-spring.its "${pkgdir}/boot/vmlinux.uimg" -} - -_package() { - pkgdesc="${_desc}" - depends=('coreutils' 'linux-firmware' 'linux-chromebook-uImage') +package_linux-chromebook-next() { + pkgdesc="The Linux Kernel and modules - ARM Chromebook kernel and modules" + depends=('coreutils' 'linux-firmware' 'module-init-tools>=3.16') optdepends=('crda: to set the correct wireless channels of your country') - provides=('kernel26' 'linux=${pkgver}' 'aufs_friendly') - conflicts=('linux-omap' 'linux-imx6' 'linux-armada370') + provides=('linux26' "linux=${pkgver}") install=${pkgname}.install cd "${srcdir}/${_gitname}" @@ -124,6 +98,7 @@ _package() { mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot/dtbs} make INSTALL_MOD_PATH="${pkgdir}" modules_install + cp arch/arm/boot/vmlinux.uimg "${pkgdir}/boot/vmlinux.uimg" # set correct depmod command for install sed \ @@ -151,17 +126,17 @@ _package() { mv "$pkgdir/lib" "$pkgdir/usr" } -_package-headers() { - pkgdesc="Header files and scripts for building modules for ${_desc}" - provides=('linux-headers=${pkgver}') - conflicts=('linux-headers-omap' 'linux-headers-imx6') +package_linux-headers-chromebook-next() { + pkgdesc="Header files and scripts for building modules for linux kernel - SAMSUNG ARM Chromebook" + provides=("linux-headers=${pkgver}") + conflicts=('linux-headers-omap' 'linux-headers-trimslice') install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}" cd "${pkgdir}/usr/lib/modules/${_kernver}" ln -sf ../../../src/linux-${_kernver} build - cd "${srcdir}/${_srcname}" + cd "${srcdir}/${_gitname}" install -D -m644 Makefile \ "${pkgdir}/usr/src/linux-${_kernver}/Makefile" install -D -m644 kernel/Makefile \ @@ -172,17 +147,17 @@ _package-headers() { mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include" for i in acpi asm-generic config crypto drm generated linux math-emu \ - media net pcmcia scsi sound trace uapi video xen; do + media net pcmcia scsi sound trace video xen; do cp -a include/${i} "${pkgdir}/usr/src/linux-${_kernver}/include/" done # copy arch includes for external modules mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH cp -a arch/$KARCH/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/ - mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/mach-mvebu - cp -a arch/$KARCH/mach-mvebu/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/mach-mvebu/ - mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/plat-orion - cp -a arch/$KARCH/plat-orion/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/plat-orion/ + mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/mach-exynos + cp -a arch/$KARCH/mach-exynos/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/mach-exynos/ + mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/plat-samsung + cp -a arch/$KARCH/plat-samsung/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/plat-samsung/ # copy files necessary for later builds, like nvidia and vmware cp Module.symvers "${pkgdir}/usr/src/linux-${_kernver}" @@ -203,22 +178,13 @@ _package-headers() { cp arch/${KARCH}/kernel/asm-offsets.s "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/kernel/" # add headers for lirc package - # pci (Which the chromebook doesn't have -# for i in bt8xx cx88 saa7134; do -# mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/pci/${i}" -# cp -a drivers/media/pci/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/pci/${i}" -# done - # usb - for i in cpia2 em28xx pwc sn9c102; do - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/${i}" - cp -a drivers/media/usb/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/${i}" - done - # i2c - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c" - cp drivers/media/i2c/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/" - for i in cx25840; do - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/${i}" - cp -a drivers/media/i2c/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/${i}" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video" + + cp drivers/media/video/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/" + + for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102; do + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/${i}" + cp -a drivers/media/video/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/${i}" done # add docbook makefile @@ -240,29 +206,25 @@ _package-headers() { # add dvb headers for external modules # in reference to: # http://bugs.archlinux.org/task/9912 - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-core" - cp drivers/media/dvb-core/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-core/" - # and... - # http://bugs.archlinux.org/task/11194 - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/" - cp include/config/dvb/*.h "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core" + cp drivers/media/dvb/dvb-core/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core/" - # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new +# add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new # in reference to: # http://bugs.archlinux.org/task/13146 - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/" - cp drivers/media/dvb-frontends/lgdt330x.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/" - cp drivers/media/i2c/msp3400-driver.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/" + cp drivers/media/dvb/frontends/lgdt330x.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/" + cp drivers/media/video/msp3400-driver.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/" # add dvb headers # in reference to: # http://bugs.archlinux.org/task/20402 - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/dvb-usb" - cp drivers/media/usb/dvb-usb/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/dvb-usb/" - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends" - cp drivers/media/dvb-frontends/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/" - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/tuners" - cp drivers/media/tuners/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/tuners/" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb" + cp drivers/media/dvb/dvb-usb/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb/" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends" + cp drivers/media/dvb/frontends/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners" + cp drivers/media/common/tuners/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners/" # add xfs and shmem for aufs building mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs" @@ -293,9 +255,3 @@ _package-headers() { # remove unneeded architectures rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,x86,xtensa} } - -for _p in ${pkgname[@]}; do - eval "package_${_p}() { - _package${_p#${pkgbase}} - }" -done diff --git a/core/linux-chromebook-next/config b/core/linux-chromebook-next/config index 3707182ca..ac4434a79 100644 --- a/core/linux-chromebook-next/config +++ b/core/linux-chromebook-next/config @@ -63,7 +63,7 @@ CONFIG_GENERIC_IRQ_SHOW=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_IRQ_DOMAIN=y -CONFIG_IRQ_DOMAIN_DEBUG=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set CONFIG_KTIME_SCALAR=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y @@ -330,7 +330,8 @@ CONFIG_SAMSUNG_DMADEV=y # Power management # # CONFIG_SAMSUNG_PM_DEBUG is not set -# CONFIG_SAMSUNG_PM_CHECK is not set +CONFIG_SAMSUNG_PM_CHECK=y +CONFIG_SAMSUNG_PM_CHECK_CHUNKSIZE=64 CONFIG_S5P_PM=y CONFIG_S5P_SLEEP=y CONFIG_DEBUG_S3C_UART=3 @@ -348,12 +349,13 @@ CONFIG_SOC_EXYNOS5250=y CONFIG_SOC_EXYNOS5420=y # CONFIG_SOC_EXYNOS5440 is not set CONFIG_EXYNOS5_SETUP_FIMD1=y -CONFIG_ARM_EXYNOS5420_ASV=y +# CONFIG_ARM_EXYNOS5420_ASV is not set # # Flattened Device Tree based board for EXYNOS SoCs # CONFIG_MACH_EXYNOS5_DT=y +CONFIG_SNOW_BITFIX=y # CONFIG_ARCH_VT8500 is not set # @@ -430,10 +432,10 @@ CONFIG_MCPM=y CONFIG_BIG_LITTLE=y CONFIG_BL_SWITCHER=y CONFIG_BL_SWITCHER_DUMMY_IF=y -# CONFIG_VMSPLIT_3G is not set -CONFIG_VMSPLIT_2G=y +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set # CONFIG_VMSPLIT_1G is not set -CONFIG_PAGE_OFFSET=0x80000000 +CONFIG_PAGE_OFFSET=0xC0000000 CONFIG_NR_CPUS=8 CONFIG_HOTPLUG_CPU=y CONFIG_LOCAL_TIMERS=y @@ -1853,16 +1855,20 @@ CONFIG_POWER_SUPPLY=y # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set CONFIG_BATTERY_SBS=m -# CONFIG_BATTERY_BQ27x00 is not set +CONFIG_BATTERY_BQ27x00=m +CONFIG_BATTERY_BQ27X00_I2C=y +CONFIG_BATTERY_BQ27X00_PLATFORM=y # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set # CONFIG_BATTERY_S3C_ADC is not set +CONFIG_CHARGER_CROS_EC=y # CONFIG_CHARGER_ISP1704 is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_LP8727 is not set CONFIG_CHARGER_GPIO=y # CONFIG_CHARGER_MANAGER is not set # CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24735 is not set # CONFIG_CHARGER_SMB347 is not set CONFIG_CHARGER_TPS65090=y # CONFIG_POWER_RESET is not set @@ -1932,7 +1938,7 @@ CONFIG_SENSORS_LM90=y # CONFIG_SENSORS_MAX6642 is not set # CONFIG_SENSORS_MAX6650 is not set # CONFIG_SENSORS_MCP3021 is not set -CONFIG_SENSORS_NTC_THERMISTOR=m +CONFIG_SENSORS_NTC_THERMISTOR=y # CONFIG_SENSORS_PC87360 is not set # CONFIG_SENSORS_PC87427 is not set # CONFIG_SENSORS_PCF8591 is not set @@ -2090,6 +2096,7 @@ CONFIG_MFD_TPS65090=y # CONFIG_MFD_VIPERBOARD is not set # CONFIG_MFD_RETU is not set # CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set CONFIG_REGULATOR=y # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR_DUMMY is not set @@ -2139,7 +2146,6 @@ CONFIG_VIDEO_TUNER=m CONFIG_V4L2_MEM2MEM_DEV=m CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_VMALLOC=m -CONFIG_VIDEOBUF_DMA_CONTIG=m CONFIG_VIDEOBUF_DVB=m CONFIG_VIDEOBUF2_CORE=m CONFIG_VIDEOBUF2_MEMOPS=m @@ -2321,23 +2327,13 @@ CONFIG_VIDEO_EM28XX_DVB=m CONFIG_VIDEO_EM28XX_RC=m CONFIG_TTPCI_EEPROM=m CONFIG_V4L_PLATFORM_DRIVERS=y -CONFIG_VIDEO_TIMBERDALE=m +# CONFIG_VIDEO_TIMBERDALE is not set CONFIG_SOC_CAMERA=m # CONFIG_SOC_CAMERA_PLATFORM is not set -CONFIG_VIDEO_SH_MOBILE_CSI2=m -CONFIG_VIDEO_SH_MOBILE_CEU=m -CONFIG_VIDEO_SAMSUNG_S5P_FIMC=y -# CONFIG_VIDEO_S5P_FIMC is not set -# CONFIG_VIDEO_S5P_MIPI_CSIS is not set -CONFIG_VIDEO_EXYNOS_FIMC_LITE=m -CONFIG_VIDEO_SAMSUNG_S5P_TV=y -CONFIG_VIDEO_SAMSUNG_S5P_HDMI=m -# CONFIG_VIDEO_SAMSUNG_S5P_HDMI_DEBUG is not set -CONFIG_VIDEO_SAMSUNG_S5P_HDMIPHY=m -CONFIG_VIDEO_SAMSUNG_S5P_SII9234=m -CONFIG_VIDEO_SAMSUNG_S5P_SDO=m -CONFIG_VIDEO_SAMSUNG_S5P_MIXER=m -# CONFIG_VIDEO_SAMSUNG_S5P_MIXER_DEBUG is not set +# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set +# CONFIG_VIDEO_SH_MOBILE_CEU is not set +# CONFIG_VIDEO_SAMSUNG_S5P_FIMC is not set +# CONFIG_VIDEO_SAMSUNG_S5P_TV is not set CONFIG_V4L_MEM2MEM_DRIVERS=y # CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set # CONFIG_VIDEO_SAMSUNG_S5P_G2D is not set @@ -2400,7 +2396,6 @@ CONFIG_VIDEO_WM8775=m # # Video decoders # -CONFIG_VIDEO_ADV7180=m CONFIG_VIDEO_SAA711X=m CONFIG_VIDEO_TVP5150=m @@ -2599,7 +2594,6 @@ CONFIG_DVB_AF9033=m # Graphics support # CONFIG_DRM=y -CONFIG_DRM_USB=m CONFIG_DRM_KMS_HELPER=y # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set @@ -2613,32 +2607,21 @@ CONFIG_DRM_EXYNOS_IOMMU=y CONFIG_DRM_EXYNOS_DEBUG=y CONFIG_DRM_EXYNOS_DMABUF=y CONFIG_DRM_EXYNOS_FIMD=y +CONFIG_DRM_EXYNOS_HDMI=y CONFIG_DRM_EXYNOS_DP=y # CONFIG_DRM_EXYNOS_VIDI is not set # CONFIG_DRM_EXYNOS_G2D is not set # CONFIG_DRM_EXYNOS_IPP is not set -CONFIG_DRM_UDL=m +# CONFIG_DRM_UDL is not set CONFIG_DRM_PTN3460=y CONFIG_DRM_PS8622=y +CONFIG_DRM_ANX7808=y # # ARM GPU Configuration # -CONFIG_MALI_T6XX=y -# CONFIG_MALI_GATOR_SUPPORT is not set -CONFIG_MALI_T6XX_DVFS=y -# CONFIG_MALI_T6XX_RT_PM is not set -# CONFIG_MALI_T6XX_ENABLE_TRACE is not set -CONFIG_MALI_T6XX_DEBUG_SYS=y -CONFIG_MALI_EXPERT=y -# CONFIG_MALI_DEBUG_SHADER_SPLIT_FS is not set -CONFIG_MALI_PLATFORM_FAKE=y -CONFIG_MALI_PLATFORM_THIRDPARTY=y -CONFIG_MALI_PLATFORM_THIRDPARTY_NAME="chromebook" -# CONFIG_MALI_DEBUG is not set -# CONFIG_MALI_NO_MALI is not set -# CONFIG_MALI_TRACE_TIMELINE is not set -# CONFIG_MALI_SYSTEM_TRACE is not set +# CONFIG_MALI_T6XX is not set +# CONFIG_MALI_PLATFORM_THIRDPARTY is not set # CONFIG_VGASTATE is not set CONFIG_VIDEO_OUTPUT_CONTROL=y CONFIG_FB=y @@ -2649,13 +2632,12 @@ CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set -CONFIG_FB_SYS_FILLRECT=m -CONFIG_FB_SYS_COPYAREA=m -CONFIG_FB_SYS_IMAGEBLIT=m +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set # CONFIG_FB_FOREIGN_ENDIAN is not set -CONFIG_FB_SYS_FOPS=m +# CONFIG_FB_SYS_FOPS is not set # CONFIG_FB_WMT_GE_ROPS is not set -CONFIG_FB_DEFERRED_IO=y # CONFIG_FB_SVGALIB is not set # CONFIG_FB_MACMODES is not set # CONFIG_FB_BACKLIGHT is not set @@ -2669,8 +2651,8 @@ CONFIG_FB_MODE_HELPERS=y # CONFIG_FB_UVESA is not set # CONFIG_FB_S1D13XXX is not set # CONFIG_FB_TMIO is not set -CONFIG_FB_SMSCUFX=m -CONFIG_FB_UDL=m +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set # CONFIG_FB_VIRTUAL is not set # CONFIG_FB_METRONOME is not set # CONFIG_FB_BROADSHEET is not set @@ -3445,7 +3427,7 @@ CONFIG_ARM_EXYNOS5_BUS_DEVFREQ=y CONFIG_ARM_EXYNOS5420_BUS_DEVFREQ=y # CONFIG_EXTCON is not set # CONFIG_MEMORY is not set -CONFIG_IIO=m +CONFIG_IIO=y # CONFIG_IIO_BUFFER is not set # CONFIG_IIO_TRIGGER is not set @@ -3783,6 +3765,10 @@ CONFIG_DEBUG_FS=y CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_SHIRQ is not set CONFIG_LOCKUP_DETECTOR=y +CONFIG_HARDLOCKUP_DETECTOR_OTHER_CPU=y +CONFIG_HARDLOCKUP_DETECTOR=y +# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 # CONFIG_PANIC_ON_OOPS is not set @@ -3919,6 +3905,7 @@ CONFIG_SECURITY_PATH=y # CONFIG_EVM is not set CONFIG_DEFAULT_SECURITY_DAC=y CONFIG_DEFAULT_SECURITY="" +CONFIG_XOR_BLOCKS=y CONFIG_CRYPTO=y # diff --git a/core/linux-chromebook-next/kernel.its b/core/linux-chromebook-next/kernel.its new file mode 100644 index 000000000..33b3c24b3 --- /dev/null +++ b/core/linux-chromebook-next/kernel.its @@ -0,0 +1,63 @@ +/dts-v1/; + +/ { + description = "Chrome OS kernel image with one or more FDT blobs"; + #address-cells = <1>; + images { + kernel@1{ + description = "kernel"; + data = /incbin/("zImage"); + type = "kernel_noload"; + arch = "arm"; + os = "linux"; + compression = "none"; + load = <0>; + entry = <0>; + }; + fdt@1{ + description = "exynos5250-snow-rev4.dtb"; + data = /incbin/("dts/exynos5250-snow-rev4.dtb"); + type = "flat_dt"; + arch = "arm"; + compression = "none"; + hash@1{ + algo = "sha1"; + }; + }; + fdt@2{ + description = "exynos5250-spring.dtb"; + data = /incbin/("dts/exynos5250-spring.dtb"); + type = "flat_dt"; + arch = "arm"; + compression = "none"; + hash@1{ + algo = "sha1"; + }; + }; + fdt@3{ + description = "exynos5250-snow-rev5.dtb"; + data = /incbin/("dts/exynos5250-snow-rev5.dtb"); + type = "flat_dt"; + arch = "arm"; + compression = "none"; + hash@1{ + algo = "sha1"; + }; + }; + }; + configurations { + default = "conf@1"; + conf@1{ + kernel = "kernel@1"; + fdt = "fdt@1"; + }; + conf@2{ + kernel = "kernel@1"; + fdt = "fdt@2"; + }; + conf@3{ + kernel = "kernel@1"; + fdt = "fdt@3"; + }; + }; +}; diff --git a/core/linux-chromebook-next/linux-chromebook.install b/core/linux-chromebook-next/linux-chromebook.install new file mode 100644 index 000000000..23a43188e --- /dev/null +++ b/core/linux-chromebook-next/linux-chromebook.install @@ -0,0 +1,18 @@ +# arg 1: the new package version +# arg 2: the old package versio + +KERNEL_VERSION=3.8.11-ARCH + +post_install () { + # updating module dependencies + echo ">>> Updating module dependencies. Please wait ..." + depmod ${KERNEL_VERSION} + sync +} + +post_upgrade() { + # updating module dependencies + echo ">>> Updating module dependencies. Please wait ..." + depmod ${KERNEL_VERSION} + sync +} diff --git a/core/linux-chromebook/PKGBUILD b/core/linux-chromebook/PKGBUILD index 430fcb82a..4c091aa5a 100644 --- a/core/linux-chromebook/PKGBUILD +++ b/core/linux-chromebook/PKGBUILD @@ -4,28 +4,26 @@ buildarch=4 pkgbase=linux-chromebook -pkgname=("${pkgbase}" "${pkgbase}-samsung" "${pkgbase}-hp") +pkgname=('linux-chromebook' 'linux-headers-chromebook') pkgver=20131105 -_kernelname=${pkgbase#linux} -_desc="ChromiumOS kernel with ArchLinux ARM tweaks" +_kernelname=${pkgname#linux} +pkgdesc="ChromiumOS kernel with ArchLinux ARM tweaks" _basever=3.4 pkgrel=1 arch=('armv7h') -url="http://git.chromium.org/gitweb/?p=chromiumos/third_party/kernel.git;a=summary" +url="https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-3.4" license=('GPL2') makedepends=('uboot-mkimage' 'dtc' 'git') options=('!strip') source=("config" - 'kernel-snow.its' - 'kernel-spring.its') -md5sums=('35c8f119a257c070c13b84b184b00125' - '1ee7e0f62516ba3af19022c25636011c' - 'd3f18ac62c0f83a5060060d8fece3c3f') + 'kernel.its') +md5sums=('5e255ae340bad3a32d9f1d1559fe3995' + '56f8343875b928b6aa4e83921e5df25f') -_gitroot='https://git.chromium.org/git/chromiumos/third_party/kernel.git' +_gitroot='https://chromium.googlesource.com/chromiumos/third_party/kernel.git' _gitname='chromeos-3.4' _gitbranch='chromeos-3.4' -_gitcommit='e9459bc8' +_gitcommit='90b982e' prepare() { cd "${srcdir}/" @@ -47,8 +45,7 @@ prepare() { cp "${srcdir}/config" .config # .its files for FIT Images - cp "${srcdir}/kernel-snow.its" arch/arm/boot/kernel-snow.its - cp "${srcdir}/kernel-spring.its" arch/arm/boot/kernel-spring.its + cp "${srcdir}/kernel.its" arch/arm/boot/kernel.its } build() { @@ -79,38 +76,15 @@ build() { # build! make ${MAKEFLAGS} zImage modules dtbs -} - -_package-samsung() { - pkgdesc="The Linux Kernel - ${_desc} - Samsung Chromebook (Snow)" - provides=('linux-chromebook-uImage') - conflicts=('linux-chromebook-hp') - - mkdir -p "${pkgdir}/boot" - cd "${srcdir}/${_gitname}" cd arch/arm/boot - - mkimage -f kernel-snow.its "${pkgdir}/boot/vmlinux.uimg" + mkimage -f kernel.its vmlinux.uimg } -_package-hp() { - pkgdesc="The Linux Kernel - ${_desc} - HP Chromebook 11 (Spring)" - provides=('linux-chromebook-uImage') - conflicts=('linux-chromebook-samsung') - - mkdir -p "${pkgdir}/boot" - cd "${srcdir}/${_gitname}" - cd arch/arm/boot - - mkimage -f kernel-spring.its "${pkgdir}/boot/vmlinux.uimg" -} - -_package() { - pkgdesc="The Linux Kernel modules - ${_desc}" - depends=('coreutils' 'linux-firmware' 'linux-chromebook-uImage') +package_linux-chromebook() { + pkgdesc="The Linux Kernel and modules - ARM Chromebook kernel and modules" + depends=('coreutils' 'linux-firmware' 'module-init-tools>=3.16') optdepends=('crda: to set the correct wireless channels of your country') - provides=('kernel26' 'linux=${pkgver}' 'aufs_friendly') - conflicts=('linux-omap' 'linux-imx6' 'linux-armada370') + provides=('linux26' "linux=${pkgver}") install=${pkgname}.install cd "${srcdir}/${_gitname}" @@ -124,6 +98,7 @@ _package() { mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot/dtbs} make INSTALL_MOD_PATH="${pkgdir}" modules_install + cp arch/arm/boot/vmlinux.uimg "${pkgdir}/boot/vmlinux.uimg" # set correct depmod command for install sed \ @@ -151,17 +126,17 @@ _package() { mv "$pkgdir/lib" "$pkgdir/usr" } -_package-headers() { - pkgdesc="Header files and scripts for building modules for Chromebook kernel - ${_desc}" - provides=('linux-headers=${pkgver}') - conflicts=('linux-headers-omap' 'linux-headers-imx6') +package_linux-headers-chromebook() { + pkgdesc="Header files and scripts for building modules for linux kernel - SAMSUNG ARM Chromebook" + provides=("linux-headers=${pkgver}") + conflicts=('linux-headers-omap' 'linux-headers-trimslice') install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}" cd "${pkgdir}/usr/lib/modules/${_kernver}" ln -sf ../../../src/linux-${_kernver} build - cd "${srcdir}/${_srcname}" + cd "${srcdir}/${_gitname}" install -D -m644 Makefile \ "${pkgdir}/usr/src/linux-${_kernver}/Makefile" install -D -m644 kernel/Makefile \ @@ -172,17 +147,17 @@ _package-headers() { mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include" for i in acpi asm-generic config crypto drm generated linux math-emu \ - media net pcmcia scsi sound trace uapi video xen; do + media net pcmcia scsi sound trace video xen; do cp -a include/${i} "${pkgdir}/usr/src/linux-${_kernver}/include/" done # copy arch includes for external modules mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH cp -a arch/$KARCH/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/ - mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/mach-mvebu - cp -a arch/$KARCH/mach-mvebu/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/mach-mvebu/ - mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/plat-orion - cp -a arch/$KARCH/plat-orion/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/plat-orion/ + mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/mach-exynos + cp -a arch/$KARCH/mach-exynos/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/mach-exynos/ + mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/plat-samsung + cp -a arch/$KARCH/plat-samsung/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/plat-samsung/ # copy files necessary for later builds, like nvidia and vmware cp Module.symvers "${pkgdir}/usr/src/linux-${_kernver}" @@ -203,22 +178,13 @@ _package-headers() { cp arch/${KARCH}/kernel/asm-offsets.s "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/kernel/" # add headers for lirc package - # pci (Which the chromebook doesn't have -# for i in bt8xx cx88 saa7134; do -# mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/pci/${i}" -# cp -a drivers/media/pci/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/pci/${i}" -# done - # usb - for i in cpia2 em28xx pwc sn9c102; do - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/${i}" - cp -a drivers/media/usb/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/${i}" - done - # i2c - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c" - cp drivers/media/i2c/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/" - for i in cx25840; do - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/${i}" - cp -a drivers/media/i2c/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/${i}" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video" + + cp drivers/media/video/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/" + + for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102; do + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/${i}" + cp -a drivers/media/video/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/${i}" done # add docbook makefile @@ -240,29 +206,25 @@ _package-headers() { # add dvb headers for external modules # in reference to: # http://bugs.archlinux.org/task/9912 - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-core" - cp drivers/media/dvb-core/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-core/" - # and... - # http://bugs.archlinux.org/task/11194 - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/" - cp include/config/dvb/*.h "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core" + cp drivers/media/dvb/dvb-core/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core/" - # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new +# add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new # in reference to: # http://bugs.archlinux.org/task/13146 - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/" - cp drivers/media/dvb-frontends/lgdt330x.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/" - cp drivers/media/i2c/msp3400-driver.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/" + cp drivers/media/dvb/frontends/lgdt330x.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/" + cp drivers/media/video/msp3400-driver.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/" # add dvb headers # in reference to: # http://bugs.archlinux.org/task/20402 - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/dvb-usb" - cp drivers/media/usb/dvb-usb/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/dvb-usb/" - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends" - cp drivers/media/dvb-frontends/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/" - mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/tuners" - cp drivers/media/tuners/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/tuners/" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb" + cp drivers/media/dvb/dvb-usb/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb/" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends" + cp drivers/media/dvb/frontends/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/" + mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners" + cp drivers/media/common/tuners/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners/" # add xfs and shmem for aufs building mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs" @@ -293,9 +255,3 @@ _package-headers() { # remove unneeded architectures rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,x86,xtensa} } - -for _p in ${pkgname[@]}; do - eval "package_${_p}() { - _package${_p#${pkgbase}} - }" -done diff --git a/core/linux-chromebook/config b/core/linux-chromebook/config index 79e775b16..fbe8dc213 100644 --- a/core/linux-chromebook/config +++ b/core/linux-chromebook/config @@ -432,7 +432,7 @@ CONFIG_MULTI_IRQ_HANDLER=y CONFIG_ARM_ERRATA_766421=y CONFIG_ARM_ERRATA_773022=y CONFIG_ARM_ERRATA_774769=y -# CONFIG_ARM_ERRATA_798181 is not set +CONFIG_ARM_ERRATA_798181=y CONFIG_ARM_GIC=y # @@ -2706,6 +2706,7 @@ CONFIG_SND_SOC_I2C_AND_SPI=y # CONFIG_SND_SOC_ALL_CODECS is not set CONFIG_SND_SOC_WM_HUBS=y CONFIG_SND_SOC_MAX98088=y +CONFIG_SND_SOC_MAX98090=y CONFIG_SND_SOC_MAX98095=y CONFIG_SND_SOC_WM8994=y # CONFIG_SOUND_PRIME is not set @@ -3514,9 +3515,11 @@ CONFIG_CIFS=m # CONFIG_CIFS_STATS is not set # CONFIG_CIFS_WEAK_PW_HASH is not set # CONFIG_CIFS_UPCALL is not set -# CONFIG_CIFS_XATTR is not set +CONFIG_CIFS_XATTR=y +CONFIG_CIFS_POSIX=y # CONFIG_CIFS_DEBUG2 is not set # CONFIG_CIFS_DFS_UPCALL is not set +# CONFIG_CIFS_ACL is not set # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set diff --git a/core/linux-chromebook/kernel.its b/core/linux-chromebook/kernel.its index 614bd0ed4..752de7acb 100644 --- a/core/linux-chromebook/kernel.its +++ b/core/linux-chromebook/kernel.its @@ -15,8 +15,28 @@ entry = <0>; }; fdt@1{ - description = "exynos5250-snow.dtb"; - data = /incbin/("exynos5250-snow.dtb"); + description = "exynos5250-snow-rev4.dtb"; + data = /incbin/("exynos5250-snow-rev4.dtb"); + type = "flat_dt"; + arch = "arm"; + compression = "none"; + hash@1{ + algo = "sha1"; + }; + }; + fdt@2{ + description = "exynos5250-spring.dtb"; + data = /incbin/("exynos5250-spring.dtb"); + type = "flat_dt"; + arch = "arm"; + compression = "none"; + hash@1{ + algo = "sha1"; + }; + }; + fdt@3{ + description = "exynos5250-snow-rev5.dtb"; + data = /incbin/("exynos5250-snow-rev5.dtb"); type = "flat_dt"; arch = "arm"; compression = "none"; @@ -31,5 +51,13 @@ kernel = "kernel@1"; fdt = "fdt@1"; }; + conf@2{ + kernel = "kernel@1"; + fdt = "fdt@2"; + }; + conf@3{ + kernel = "kernel@1"; + fdt = "fdt@3"; + }; }; };