better monolithic kernel support

This commit is contained in:
illiliti 2020-03-08 21:37:19 +03:00
parent 0c976787c7
commit fa18801b1c
3 changed files with 26 additions and 16 deletions

3
config
View File

@ -14,6 +14,9 @@
# initramfs name # initramfs name
#initramfs="" #initramfs=""
# monolithic kernel
#monolith=""
# drivers directory # drivers directory
#moddir="" #moddir=""

View File

@ -23,7 +23,7 @@ msg() {
usage() { usage() {
cat << EOF cat << EOF
usage: $0 [options] usage: $0 [option...]
-o, --output <file> set initramfs image name -o, --output <file> set initramfs image name
-c, --config <file> set config file path -c, --config <file> set config file path
-m, --moddir <dir> set drivers directory -m, --moddir <dir> set drivers directory
@ -199,11 +199,6 @@ install_lvm() {
install_binary lvm install_binary lvm
[ "$hostonly" = 1 ] &&
for _driver in dm-thin-pool dm-multipath dm-snapshot dm-cache dm-log dm-mirror; do
install_driver "$_driver"
done
# install lvm config # install lvm config
if [ "$lvm_config" = 1 ]; then if [ "$lvm_config" = 1 ]; then
mkdir -p "${workdir}/etc/lvm" mkdir -p "${workdir}/etc/lvm"
@ -231,11 +226,6 @@ install_luks() {
install_binary cryptsetup install_binary cryptsetup
[ "$hostonly" = 1 ] &&
for _driver in aes dm-crypt sha256 sha512 wp512 ecb lrw xts twofish serpent; do
install_driver "$_driver"
done
# avoid libgcc_s.so.1 missing error # avoid libgcc_s.so.1 missing error
# see https://bugs.archlinux.org/task/56771 # see https://bugs.archlinux.org/task/56771
[ -e /usr/lib/libgcc_s.so.1 ] && [ -e /usr/lib/libgcc_s.so.1 ] &&
@ -467,20 +457,30 @@ create_symlinks
[ "$lvm" = 1 ] && install_lvm [ "$lvm" = 1 ] && install_lvm
[ "$luks" = 1 ] && install_luks [ "$luks" = 1 ] && install_luks
# check if moddir exists # check monotihic kernel
if [ -d "$moddir" ]; then [ "$monolith" != 1 ] && [ -d "$moddir" ] && {
# check hostonly mode # check hostonly mode
if [ "$hostonly" = 1 ]; then if [ "$hostonly" = 1 ]; then
install_hostonly_drivers install_hostonly_drivers
# install lvm drivers
[ "$lvm" = 1 ] &&
for _driver in dm-thin-pool dm-multipath dm-snapshot dm-cache dm-log dm-mirror; do
install_driver "$_driver"
done
# install luks drivers
[ "$luks" = 1 ] &&
for _driver in aes dm-crypt sha256 sha512 wp512 ecb lrw xts twofish serpent; do
install_driver "$_driver"
done
else else
install_all_drivers install_all_drivers
fi fi
generate_depmod generate_depmod
else }
msg warn "looks like you have monolithic kernel"
fi
install_devmgr install_devmgr
install_files install_files

View File

@ -26,6 +26,13 @@ Specify init program
Specify initramfs output name Specify initramfs output name
.TP .TP
.TP
.BR \fBmonolith=\fR"\&\fI {0|1} \fR\&"
Enable monolithic kernel support
This option required if you using monolithic kernel (builtin drivers)
.TP
.TP .TP
.BR \fBmoddir=\fR"\&\fI /path/to/dir \fR\&" .BR \fBmoddir=\fR"\&\fI /path/to/dir \fR\&"
Specify directory of drivers Specify directory of drivers