summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/linux-libre/PKGBUILD23
-rw-r--r--libre/linux-libre/linux-libre.install12
2 files changed, 26 insertions, 9 deletions
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() {