aboutsummaryrefslogtreecommitdiffstats
path: root/main/mkinitfs
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2015-12-16 10:15:11 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2015-12-16 11:03:08 +0000
commit3904e0a61646e55b3b41c78e995211f247acee14 (patch)
treee42002a9bac10f91eec2ba1a73770e74231e4450 /main/mkinitfs
parent768efaf81cc9be8b8d98e2ddf0b3a984477a23f0 (diff)
downloadaports-3904e0a61646e55b3b41c78e995211f247acee14.tar.bz2
aports-3904e0a61646e55b3b41c78e995211f247acee14.tar.xz
main/mkinitfs: fix usb settle delay at boot
Diffstat (limited to 'main/mkinitfs')
-rw-r--r--main/mkinitfs/APKBUILD10
-rw-r--r--main/mkinitfs/git.patch55
2 files changed, 48 insertions, 17 deletions
diff --git a/main/mkinitfs/APKBUILD b/main/mkinitfs/APKBUILD
index f70c0ede97..c24380f29f 100644
--- a/main/mkinitfs/APKBUILD
+++ b/main/mkinitfs/APKBUILD
@@ -1,8 +1,8 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=mkinitfs
-pkgver=2.8.0_git20151025
+pkgver=2.8.0_git20151216
_ver=${pkgver%_git*}
-pkgrel=1
+pkgrel=0
pkgdesc="Tool to generate initramfs images for Alpine"
url="http://git.alpinelinux.org/cgit/mkinitfs"
makedepends="kmod-dev util-linux-dev cryptsetup-dev linux-headers"
@@ -37,8 +37,8 @@ package() {
make install DESTDIR="$pkgdir" || return 1
}
md5sums="1a321336d97b22257349ddd36884ec34 mkinitfs-2.8.0.tar.xz
-56af089f7c606e13cb65a3cf32d4bfb8 git.patch"
+56f7bf0af2d4262d60a91d335bb44073 git.patch"
sha256sums="5ffe4c5ec9e0ff4581e5b24301fd30d0964120d6b30ee78ea79f31ff48eeab73 mkinitfs-2.8.0.tar.xz
-a3e823b10669cf7ef62bed3e7e4f662d157484a4f7449bea5b95cf9afefc1a15 git.patch"
+057a4c8be2867db925ac4aa5af18b9a7457d5f2d44f0fdb058270c3ad908d690 git.patch"
sha512sums="c103003f95c7d7d94daa41d0a81b210a0208c93d77203978554fb127a21e2f143b56990865fc53e2c5c732ef663603b297da63d31f915b1e3a3e0f3818aa8f2e mkinitfs-2.8.0.tar.xz
-a5d15f34954c27c7b4ae5a2e9dab16b33b8360c29e9083d9a43947241a4e606d7acfe244f01b6e29c6977e81194e579e511f38aba963b732bd5e86c555ced15d git.patch"
+6680ccff560306e6708c94f822d7415616ce920807ab33a26228ab73ed0cbf27c44adf58fe90f590ecab86a72d1f37f2375059bff5775e760bb2a68aa1634111 git.patch"
diff --git a/main/mkinitfs/git.patch b/main/mkinitfs/git.patch
index 14842a85e9..ef27ea474d 100644
--- a/main/mkinitfs/git.patch
+++ b/main/mkinitfs/git.patch
@@ -208,6 +208,24 @@ index 8adf4df..6f28294 100644
/usr/sbin/accton
/usr/sbin/sa
-
+diff --git a/features.d/btrfs.modules b/features.d/btrfs.modules
+index b5a271f..a114111 100644
+--- a/features.d/btrfs.modules
++++ b/features.d/btrfs.modules
+@@ -1,2 +1,5 @@
+ kernel/crypto/crc32c*
++kernel/arch/*/crypto/crc32*
++kernel/arch/*/crypto/crc32*
++kernel/crypto/crc32*
+ kernel/fs/btrfs
+diff --git a/features.d/cryptsetup.modules b/features.d/cryptsetup.modules
+index 9b63cd3..1469be7 100644
+--- a/features.d/cryptsetup.modules
++++ b/features.d/cryptsetup.modules
+@@ -1,2 +1,3 @@
+ kernel/crypto/*
++kernel/arch/*/crypto/*
+ kernel/drivers/md/dm-crypt.ko
diff --git a/features.d/kms.files b/features.d/kms.files
deleted file mode 100644
index 9d198b2..0000000
@@ -238,6 +256,15 @@ index fa74c10..b0e6c22 100644
kernel/drivers/block/virtio*
kernel/drivers/virtio
+kernel/drivers/net/virtio_net*
+diff --git a/features.d/xfs.modules b/features.d/xfs.modules
+index f577bf3..2b7fd53 100644
+--- a/features.d/xfs.modules
++++ b/features.d/xfs.modules
+@@ -1 +1,4 @@
++kernel/arch/*/crypto/crc32*
++kernel/arch/*/crypto/crc32*
++kernel/crypto/crc32*
+ kernel/fs/xfs
diff --git a/initramfs-init.in b/initramfs-init.in
index 934fe92..cdf50b9 100755
--- a/initramfs-init.in
@@ -915,10 +942,10 @@ index 04dc99c..c5f6434 100755
rc=$?
diff --git a/nlplug-findfs.c b/nlplug-findfs.c
new file mode 100644
-index 0000000..27b9ce2
+index 0000000..7d1511e
--- /dev/null
+++ b/nlplug-findfs.c
-@@ -0,0 +1,1017 @@
+@@ -0,0 +1,1021 @@
+
+/*
+ * Copy me if you can.
@@ -962,7 +989,8 @@ index 0000000..27b9ce2
+#include "arg.h"
+
+#define DEFAULT_EVENT_TIMEOUT 250
-+#define USB_STORAGE_TIMEOUT 2000
++/* usb mass storage needs 1 sec to settle */
++#define USB_STORAGE_TIMEOUT 1000
+
+#define FOUND_DEVICE 0x1
+#define FOUND_BOOTREPO 0x2
@@ -1108,7 +1136,6 @@ index 0000000..27b9ce2
+ char *devname;
+ char *major;
+ char *minor;
-+ char *driver;
+ char devnode[256];
+ char *envp[64];
+};
@@ -1191,7 +1218,7 @@ index 0000000..27b9ce2
+ return fd;
+}
+
-+static int load_kmod(const char *modalias)
++static int load_kmod(const char *modalias, char *driver, size_t len)
+{
+ static struct kmod_ctx *ctx = NULL;
+ struct kmod_list *list = NULL;
@@ -1228,6 +1255,8 @@ index 0000000..27b9ce2
+ fmt = "module '%s' failed";
+ }
+ dbg(fmt, kmod_module_get_name(mod));
++ if (driver)
++ strncpy(driver, kmod_module_get_name(mod), len);
+ kmod_module_unref(mod);
+ }
+ kmod_module_unref_list(list);
@@ -1339,7 +1368,7 @@ index 0000000..27b9ce2
+static void start_cryptsetup(struct ueventconf *conf)
+{
+ dbg("starting cryptsetup %s -> %s", conf->crypt_devnode, conf->crypt_name);
-+ load_kmod("dm-crypt");
++ load_kmod("dm-crypt", NULL, 0);
+ pthread_create(&conf->cryptsetup_tid, NULL, cryptsetup_thread, conf);
+ conf->running_threads |= CRYPTSETUP_THREAD;
+}
@@ -1613,12 +1642,16 @@ index 0000000..27b9ce2
+ return 0;
+
+ if (ev->modalias != NULL && strcmp(ev->action, "add") == 0) {
-+ load_kmod(ev->modalias);
++ char buf[128];
++ memset(buf, 0, sizeof(buf));
++ load_kmod(ev->modalias, buf, sizeof(buf)-1);
+ conf->modalias_count++;
+
-+ } else if (ev->driver != NULL && strcmp(ev->driver, "usb-storage") == 0) {
-+ conf->timeout += timeout_increment;
-+ timeout_increment = 0;
++ /* increase timeout so usb drives gets time to settle */
++ if (strcmp(buf, "usb_storage") == 0) {
++ conf->timeout += timeout_increment;
++ timeout_increment = 0;
++ }
+
+ } else if (ev->devname != NULL) {
+ if (conf->program_argv[0] != NULL) {
@@ -1691,8 +1724,6 @@ index 0000000..27b9ce2
+ ev.major = value;
+ } else if (envcmp(key, "MINOR")) {
+ ev.minor = value;
-+ } else if (envcmp(key, "DRIVER")) {
-+ ev.driver = value;
+ }
+
+ if (!envcmp(key, "PATH"))