From 6be2fb84fedb0602286ac30ce807d2894a189a9b Mon Sep 17 00:00:00 2001 From: Michał Masłowski Date: Fri, 2 Mar 2012 23:21:49 +0100 Subject: mips64el kernel changes (untested). Have builtin USB storage support to enable booting the system from USB disks without initramfs (which would be very slow to load with PMON). Don't require mkinitcpio (issue #230). Install also an uncompressed kernel, oprofile needs it. --- libre/linux-libre/PKGBUILD | 23 ++++++++++++++++++----- libre/linux-libre/linux-libre.install | 12 ++++++++---- 2 files changed, 26 insertions(+), 9 deletions(-) (limited to 'libre') diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index d09c44a5d..f31815bb3 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -93,12 +93,16 @@ build() { patch -Np1 -i ${srcdir}/${_basekernel}*-*-loongson-community.patch patch -Np0 -i lxo-config.patch -# ensure N32, add localversion and remove uevent helper as per +# ensure N32, add localversion, remove uevent helper as per # https://git.kernel.org/?p=linux/hotplug/udev.git;a=blob_plain;f=README - sed -i -e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \ +# and make USB storage support builtin (e.g. for booting from USB +# disks without slowly loading an initramfs) + sed -ri -e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \ -e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \ -e "s|CONFIG_UEVENT_HELPER_PATH=.*|CONFIG_UEVENT_HELPER_PATH=\"\"|g" \ - -e "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"-LIBRE\"|g" ./.config + -e "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"-LIBRE\"|g" \ + -e "s|(CONFIG_USB(_COMMON|_EHCI_HCD|_OHCI_HCD|_STORAGE.*|_UAS)?)=.*|\1=y|g" + ./.config else cat "${srcdir}/config.${CARCH}" > ./.config # simpler fi @@ -132,7 +136,9 @@ build() { # build! if [ "$CARCH" == "mips64el" ]; then - make ${MAKEFLAGS} vmlinuz modules + # bzImage is arch-specific and not supported on mips; vmlinux is + # useful for oprofile. + make ${MAKEFLAGS} vmlinux vmlinuz modules else make ${MAKEFLAGS} bzImage modules fi @@ -141,13 +147,19 @@ build() { package_linux-libre() { pkgdesc="The Linux-libre Kernel and modules" groups=('base') - depends=('coreutils' 'module-init-tools>=3.16' 'mkinitcpio>=0.7') + depends=('coreutils' 'module-init-tools>=3.16') optdepends=('crda: to set the correct wireless channels of your country') provides=('kernel26' "linux=$pkgver") conflicts=('kernel26' 'kernel26-libre' 'linux') replaces=('kernel26' 'kernel26-libre' 'linux') backup=("etc/mkinitcpio.d/${pkgname}.preset") install=${pkgname}.install + if [ "$CARCH" = "mips64el" ]; then + optdepends+=('mkinitcpio: to make the initramfs (needs reinstall of this package)') + conflicts+=('mkinitcpio<0.7') + else + depends+=('mkinitcpio>=0.7') + fi cd "${srcdir}/linux-${_basekernel}" @@ -162,6 +174,7 @@ package_linux-libre() { if [ "$CARCH" == "mips64el" ]; then cp vmlinuz "${pkgdir}/boot/vmlinuz-${pkgname}" + cp vmlinux "${pkgdir}/boot/vmlinux-${pkgname}" else cp "arch/${KARCH}/boot/bzImage" "${pkgdir}/boot/vmlinuz-${pkgname}" fi diff --git a/libre/linux-libre/linux-libre.install b/libre/linux-libre/linux-libre.install index f05e87b9f..62f5d13bc 100644 --- a/libre/linux-libre/linux-libre.install +++ b/libre/linux-libre/linux-libre.install @@ -8,8 +8,10 @@ post_install () { # updating module dependencies echo ">>> Updating module dependencies. Please wait ..." depmod ${KERNEL_VERSION} - echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." - mkinitcpio -p linux-libre${KERNEL_NAME} + if [ command -v mkinitcpio 2>&1 > /dev/null ]; then + echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." + mkinitcpio -p linux-libre${KERNEL_NAME} + fi # compat symlinks for the official kernels only if [ -z "${KERNEL_NAME}" -o "${KERNEL_NAME}" = "-lts" ]; then @@ -50,8 +52,10 @@ post_upgrade() { # updating module dependencies echo ">>> Updating module dependencies. Please wait ..." depmod ${KERNEL_VERSION} - echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." - mkinitcpio -p linux-libre${KERNEL_NAME} + if [ command -v mkinitcpio 2>&1 > /dev/null ]; then + echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." + mkinitcpio -p linux-libre${KERNEL_NAME} + fi } post_remove() { -- cgit v1.2.3-54-g00ecf