On Tue, May 24, 2011 at 10:50:13PM +0200, Michal Soltys wrote:
> On 11-05-24 01:05, Karel Zak wrote:
>> On Fri, May 20, 2011 at 05:09:25PM +0200, Michal Soltys wrote:
>>> +fstab_mount() {
>>> + local _dev _mp _fs _opts _dump _pass _rest
>>> test -e "$1" || return 1
>>> info "Mounting from $1"
>>> - while read dev mp type opts rest; do
>>> - [ -z "${dev%%#*}" ]&& continue # Skip comment lines
>>> - mount -v -t $type -o $opts $dev $NEWROOT/$mp
>>> - done< $1 | vinfo
>>> + while read _dev _mp _fs _opts _dump _pass _rest; do
>>
>> How does this code handle encoding in fstab? (e.g. /path/foo\x40bar)
>>
>
> Ah, I knew something went too easy. Though you mean - \040 as escape for
> space character in mountpoint, not any arbitrary \xNN or \0NN ?
from mount(8) code:
need_escaping[] = { ' ', '\t', '\n', '\\' };
It's used for all strings in fstab (so not for mountpoints only).
> Also, some standard handling uuid/label and watching for other stuff as
> well would be good too. Plain 'test -e' is not too proper either.
From my point of view it would be ideal to avoid fstab parsing in the
script at all.
export FSTAB_FILE=/etc/fstab.sys
for $dev in $(findmnt --fstab -o SOURCE -e -n -O no_netdev); do
fsck -T $dev
mount $dev --target-prefix $NEWROOT
done
Unfortunately mount(8) does not allow to read info about mountpoints
from alternative fstab file and it does not support --target-prefix
now. I'll add this to my TODO list.
Karel
--
Karel Zak <[email protected]>
http://karelzak.blogspot.com
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html