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 -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org