slitaz-boot-scripts rev 341
init: add modprobe= support
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Mon Jan 27 10:09:06 2014 +0000 (2014-01-27) |
parents | 5930bfe98078 |
children | ca014ab4f073 |
files | init |
line diff
1.1 --- a/init Wed Jan 22 17:10:32 2014 +0100 1.2 +++ b/init Mon Jan 27 10:09:06 2014 +0000 1.3 @@ -1,5 +1,52 @@ 1.4 #!/bin/sh 1.5 1.6 +### catched kernel parameters : 1.7 +# 1.8 +# modprobe= 1.9 +# list of modules to load, example modprobe=r8169,btrfs 1.10 +# 1.11 +### Frugal mode or live CD : using root ram disk 1.12 +# 1.13 +# tmpram= [RAMDISK] 1.14 +# minimum % of free RAM to build the root tmpfs, default 100 1.15 +# a lower value may work, such as 50 1.16 +# rootfssize= [RAMDISK] 1.17 +# size of / regarding the RAM size, default 90% 1.18 +# 1.19 +### Indirect mode an initramfs is used to mount root from the hard disk. 1.20 +### Any rootfs should fit, minimum required is slitaz-base 1.21 +# 1.22 +# mount= [MOUNT] 1.23 +# device with root loop file or sub directory 1.24 +# posixovl [MOUNT] 1.25 +# use posix attributes on a non posix filesystem (VFAT, NTFS...) 1.26 +# loopfs= [MOUNT] 1.27 +# loop file for root filesystem 1.28 +# subroot= [MOUNT] 1.29 +# sub directory for root filesystem 1.30 +# bindfs= [MOUNT] 1.31 +# bind out of root tree part 1.32 +# 1.33 +### Special disk driver mode needs extra modules/softwares form preinit flavor. 1.34 +# 1.35 +# dmraid= [RAID] 1.36 +# root semi hardware raid device name in /dev/mapper 1.37 +# softraid= [RAID] 1.38 +# root software device name in /dev/mapper 1.39 +# lvmroot= [LVM] 1.40 +# root logical volume name in /dev/mapper 1.41 +# cryptoroot= [CRYPTO] 1.42 +# encrypted root device using luks or loop-aes 1.43 +# 1.44 +### Special mode used by loram flavor with aufs & squashfs 1.45 +# 1.46 +# rodev= [LORAM][MERGE] 1.47 +# device (+ optional path) for the read only aufs branch 1.48 +# rwdev= [LORAM][MERGE] 1.49 +# (persitant) device for the r/w aufs branch instead of the ramfs 1.50 +# isofs [LORAM] 1.51 +# do not use squashfs filesystem images, but the cdrom filesystem only 1.52 + 1.53 fail() 1.54 { 1.55 echo -e '\033[70G[ \033[1;3'${1:-1mFailed}'\033[0;39m ]' 1.56 @@ -54,15 +101,16 @@ 1.57 1.58 mod() 1.59 { 1.60 -modprobe $1 2>/dev/null || insmod $(find /lib/modules|sed "/$1.ko/!dq") 1.61 +for i in $@ 1.62 +do echo "Loading module: $i" 1.63 + modprobe $i 2>/dev/null || insmod $(find /lib/modules|sed "/$i.ko/!dq") 1.64 +done 1.65 } 1.66 1.67 try() 1.68 { 1.69 if [ ! -d /mnt/etc ] && got cryptoroot 1.70 -then mod dm-mod 1.71 - mod dm-crypt 1.72 - mod aes-i586 1.73 +then mod dm-mod dm-crypt aes-256 1.74 d=${root#/dev/} 1.75 l=crypto-$d 1.76 if cryptsetup isLuks $root 2>/dev/null; then 1.77 @@ -118,6 +166,7 @@ 1.78 . /run/init 1.79 sh 1.80 fi 1.81 +got modprobe && mod ${root//,/ } 1.82 ln -s $(sed '/name/!ds/.*:[^a-z]*//' /proc/sys/dev/cdrom/info) /dev/cdrom 1.83 if use dmraid 1.84 then dmraid -s|sed '/^type/!ds/.*: *//'|ldraid