support automounting partitions if 'automount' string is present on boot command line
parent
08c52c2854
commit
96eecc9058
|
|
@ -27,17 +27,17 @@ MENU AUTOBOOT Press Esc for options, automatic boot in # second{,s} ...
|
||||||
MENU TABMSG [F1] help [Tab] cmdline >
|
MENU TABMSG [F1] help [Tab] cmdline >
|
||||||
|
|
||||||
LABEL default
|
LABEL default
|
||||||
MENU LABEL Run Slax (Persistent changes if writable)
|
MENU LABEL Run Slax (Persistent changes)
|
||||||
KERNEL /slax/boot/vmlinuz
|
KERNEL /slax/boot/vmlinuz
|
||||||
APPEND vga=normal initrd=/slax/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=perch
|
APPEND vga=normal initrd=/slax/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=perch,automount
|
||||||
|
|
||||||
LABEL perch
|
LABEL perch
|
||||||
MENU LABEL Run Slax (Fresh start)
|
MENU LABEL Run Slax (Fresh start)
|
||||||
KERNEL /slax/boot/vmlinuz
|
KERNEL /slax/boot/vmlinuz
|
||||||
APPEND vga=normal initrd=/slax/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0
|
APPEND vga=normal initrd=/slax/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=automount
|
||||||
|
|
||||||
LABEL toram
|
LABEL toram
|
||||||
MENU LABEL Run Slax (Copy to RAM)
|
MENU LABEL Run Slax (Copy to RAM)
|
||||||
KERNEL /slax/boot/vmlinuz
|
KERNEL /slax/boot/vmlinuz
|
||||||
APPEND vga=normal initrd=/slax/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=toram
|
APPEND vga=normal initrd=/slax/boot/initrfs.img load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=toram,automount
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ union_append_bundles "$DATA" "$BUNDLES" "$UNION"
|
||||||
# rootcopy
|
# rootcopy
|
||||||
copy_rootcopy_content "$DATA" "$UNION"
|
copy_rootcopy_content "$DATA" "$UNION"
|
||||||
|
|
||||||
# create empty fstab
|
# create fstab
|
||||||
fstab_create "$UNION"
|
fstab_create "$UNION"
|
||||||
debug_shell
|
debug_shell
|
||||||
header "Live Kit done, starting $LIVEKITNAME"
|
header "Live Kit done, starting $LIVEKITNAME"
|
||||||
|
|
|
||||||
31
livekitlib
31
livekitlib
|
|
@ -278,6 +278,16 @@ mounted_dir()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Get device tag.
|
||||||
|
# $1 = device
|
||||||
|
# $2 = tag name, such as TYPE, LABEL, UUID, etc
|
||||||
|
#
|
||||||
|
device_tag()
|
||||||
|
{
|
||||||
|
blkid -s $2 "$1" | sed -r "s/^[^=]+=//" | tr -d '"'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Make sure to mount FAT12/16/32 using vfat
|
# Make sure to mount FAT12/16/32 using vfat
|
||||||
# in order to support long filenames
|
# in order to support long filenames
|
||||||
# $1 = device
|
# $1 = device
|
||||||
|
|
@ -287,7 +297,7 @@ device_bestfs()
|
||||||
debug_log "device_bestfs" "$*"
|
debug_log "device_bestfs" "$*"
|
||||||
local FS
|
local FS
|
||||||
|
|
||||||
FS="$(blkid -s TYPE "$1" | sed -r "s/.*TYPE=//" | tr -d '"' | tr [A-Z] [a-z])"
|
FS="$(device_tag "$1" TYPE | tr [A-Z] [a-z])"
|
||||||
if [ "$FS" = "msdos" -o "$FS" = "fat" -o "$FS" = "vfat" ]; then
|
if [ "$FS" = "msdos" -o "$FS" = "fat" -o "$FS" = "vfat" ]; then
|
||||||
FS="vfat"
|
FS="vfat"
|
||||||
elif [ "$FS" = "ntfs" ]; then
|
elif [ "$FS" = "ntfs" ]; then
|
||||||
|
|
@ -775,13 +785,30 @@ fstab_create()
|
||||||
{
|
{
|
||||||
debug_log "fstab_create" "$*"
|
debug_log "fstab_create" "$*"
|
||||||
|
|
||||||
local FSTAB
|
local FSTAB DEVICE FS LABEL
|
||||||
|
|
||||||
FSTAB="$1/etc/fstab"
|
FSTAB="$1/etc/fstab"
|
||||||
echo aufs / aufs defaults 0 0 > $FSTAB
|
echo aufs / aufs defaults 0 0 > $FSTAB
|
||||||
echo proc /proc proc defaults 0 0 >> $FSTAB
|
echo proc /proc proc defaults 0 0 >> $FSTAB
|
||||||
echo sysfs /sys sysfs defaults 0 0 >> $FSTAB
|
echo sysfs /sys sysfs defaults 0 0 >> $FSTAB
|
||||||
echo devpts /dev/pts devpts gid=5,mode=620 0 0 >> $FSTAB
|
echo devpts /dev/pts devpts gid=5,mode=620 0 0 >> $FSTAB
|
||||||
echo tmpfs /dev/shm tmpfs defaults 0 0 >> $FSTAB
|
echo tmpfs /dev/shm tmpfs defaults 0 0 >> $FSTAB
|
||||||
|
|
||||||
|
if grep -vq automount /proc/cmdline; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo >> $FSTAB
|
||||||
|
|
||||||
|
blkid | cut -d: -f 1 | while read DEVICE; do
|
||||||
|
FS="$(device_tag $DEVICE TYPE)"
|
||||||
|
LABEL="$(device_tag $DEVICE LABEL | sed -r "s:[/ ]:_:g")"
|
||||||
|
if [ "$LABEL" = "" ]; then LABEL="$(basename $DEVICE)"
|
||||||
|
if [ "$FS" != "swap" ]; then
|
||||||
|
mkdir -p "$1/media/$LABEL"
|
||||||
|
echo "$DEVICE" "/media/$LABEL" $FS defaults,noatime 0 0 >> $FSTAB
|
||||||
|
fi
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue