diff --git a/alpine.mk b/alpine.mk index db9f14b..0bb69f1 100755 --- a/alpine.mk +++ b/alpine.mk @@ -249,7 +249,7 @@ $(SYSLINUX_CFG): @echo "default $(KERNEL_NAME)" >>$@ @echo "label $(KERNEL_NAME)" >>$@ @echo " kernel /boot/$(KERNEL_NAME)" >>$@ - @echo " append initrd=/boot/$(KERNEL_NAME).gz alpine_dev=sda1:vfat quiet" >>$@ + @echo " append initrd=/boot/$(KERNEL_NAME).gz alpine_dev=sda1:vfat modules=usb-storage,sd-mod quiet" >>$@ ISO_KERNEL := $(ISO_DIR)/boot/$(KERNEL_NAME) ISO_PKGDIR := $(ISO_DIR)/packages diff --git a/initramfs-init b/initramfs-init index b427de3..b0a8a75 100755 --- a/initramfs-init +++ b/initramfs-init @@ -133,8 +133,14 @@ mkdir -p $ALPINE_MNT if [ -n "$ALPINE_DEV_FS" ]; then mount_opts="-t $ALPINE_DEV_FS" fi -mount $mount_opts /dev/$ALPINE_DEV $ALPINE_MNT >/dev/null 2>&1 + +# usb might need some time to settle so we retry a few times +for i in $(seq 0 19); do + mount $mount_opts /dev/$ALPINE_DEV $ALPINE_MNT >/dev/null 2>&1 && break + sleep 1 +done eend $? + ebegin "Mounting loopback device for kernel modules" modprobe loop if [ -n "$KOPT_modloop" ]; then