summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
authorMichał Masłowski <mtjm@mtjm.eu>2012-03-02 23:21:49 +0100
committerMichał Masłowski <mtjm@mtjm.eu>2012-03-02 23:21:49 +0100
commit6be2fb84fedb0602286ac30ce807d2894a189a9b (patch)
tree1c64473f7471499ff77ff7e1e06adfc86e79532c /libre
parentec25c0f30f1be10f66730306625f95a67b8ad4b4 (diff)
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.
Diffstat (limited to 'libre')
-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() {