Bug#512176: initramfs-tools: [PATCH] Make rootfstype working
On Sun, 18 Jan 2009, Dmitry Nezhevenko wrote:
> Hi. I'm trying to get something like LiveFlash working with btrfs as root
> filesystem. Currently debian versions of blkid(8) and other e2fsprogs
> binaries don't recognize it. According to initramfs-tools(8) it's possible
> to specify filesystem type manually at boot time using "rootfstype=my_fs"
> parameter.
right!
> Current version of initramfs-tools waits for root device to appear and
> checks that filesystem type can be detected:
>
> while [ ! -e "${ROOT}" ] \
> || ! $(get_fstype "${ROOT}" >/dev/null); do
> /bin/sleep 0.1
> slumber=$(( ${slumber} - 1 ))
> [ ${slumber} -gt 0 ] || break
> done
>
> But get_fstype don't understand btrfs, so it just waits for timeout here.
> My problem is that ROOTFSTYPE is used only _after_ this loop and there is
> no way to workaround it.
>
> I think that we should allow get_fstype to fail if filesystem type was
> provided manually at boot time. We can just check something like [ -z
> "${ROOTFSTYPE}" ].
>
> Please take a look to attached patch as a reference fix.
have a look where slumber is set.
> slumber=$(( ${slumber} * 10 ))
> while [ ! -e "${ROOT}" ] \
> - || ! $(get_fstype "${ROOT}" >/dev/null); do
> + || ( [ -z "${ROOTFSTYPE}" ] && ! $(get_fstype "${ROOT}" >/dev/null) ); do
> /bin/sleep 0.1
> slumber=$(( ${slumber} - 1 ))
> [ ${slumber} -gt 0 ] || break
just set rootfstype *and* rootdelay.
unless some convincing info comes up, i'll close that bug away ;)
kind regards
--
maks
Reply to: