fixed problem in initrd removal -- added firmware

This commit is contained in:
KatolaZ 2018-02-11 00:17:34 +00:00
parent cfb1947abd
commit c87ff8b459
6 changed files with 155 additions and 123 deletions

View File

@ -4,14 +4,15 @@
* DONE Amend motd * DONE Amend motd
* IN-PROGRESS amend isolinux_overlay/isolinux.cfg * DONE amend isolinux_overlay/isolinux.cfg
** DONE change initrd name ** DONE change initrd name
* TODO put correct initrd.img in binary/live/ * DONE put correct initrd.img in binary/live/
* IN-PROGRESS Put debs in custom_debs * IN-PROGRESS Put debs in custom_debs
* TODO Include memtest86+.bin in binary/live/ * TODO Include memtest86+.bin in binary/live/
* TODO put README
* TODO put script to remove firmware packages
* TODO Rebuild all

View File

@ -236,26 +236,27 @@ base_packages+=(
#### TODO: ADD refractainstaller #### TODO: ADD refractainstaller
#### ADDED: geoip-bin #### ADDED: geoip-bin
#extra_packages+=( extra_packages+=(
# b43-fwcutter b43-fwcutter
# firmware-atheros firmware-atheros
# firmware-b43-installer firmware-b43-installer
# firmware-b43legacy-installer firmware-b43legacy-installer
# firmware-bnx2 firmware-bnx2
# firmware-bnx2x firmware-bnx2x
# firmware-brcm80211 firmware-brcm80211
# firmware-intelwimax firmware-intelwimax
# firmware-iwlwifi firmware-iwlwifi
# firmware-libertas firmware-libertas
# firmware-linux-nonfree firmware-linux-nonfree
# firmware-myricom firmware-myricom
# firmware-netxen firmware-netxen
# firmware-qlogic firmware-qlogic
# firmware-ralink firmware-realtek
# firmware-realtek firmware-ti-connectivity
# firmware-ti-connectivity firmware-zd1211
# firmware-zd1211 refractainstaller-base
#) refractasnapshot-base
)
purge_packages=( purge_packages=(

View File

@ -51,11 +51,10 @@ INITRD_NEW=$2
INITRD_COMPR=$3 INITRD_COMPR=$3
INITRD_MICRO=$4 INITRD_MICRO=$4
echo "$0: got $1 $2 $3 $4"
WORK_DIR=/tmp/initrd_new WORK_DIR=/tmp/initrd_new
MODULE_DIR=lib/modules/`uname -r`/kernel MODULE_DIRS=$(ls lib/modules/)
#### ####
## ##
@ -77,11 +76,11 @@ fi
INITRD_FILE=`file -L ${INITRD_ORIG}` INITRD_FILE=`file -L ${INITRD_ORIG}`
if [ `echo ${INITRD_FILE} | grep gzip | wc -l` = 1 ]; then if [ `echo ${INITRD_FILE} | grep gzip | wc -l` == 1 ]; then
INITRD_UNCOMPRESS=zcat; INITRD_UNCOMPRESS=zcat;
elif [ `echo ${INITRD_FILE} | grep bzip2 | wc -l` = 1 ]; then elif [ `echo ${INITRD_FILE} | grep bzip2 | wc -l` == 1 ]; then
INITRD_UNCOMPRESS=bzcat; INITRD_UNCOMPRESS=bzcat;
elif [ `echo ${INITRD_FILE} | grep " xz " | wc -l` = 1 ]; then elif [ `echo ${INITRD_FILE} | grep " xz " | wc -l` == 1 ]; then
INITRD_UNCOMPRESS=xzcat; INITRD_UNCOMPRESS=xzcat;
else else
echo "Unable to determine the format of ${INITRD_ORIG} -- Aborting!!!" echo "Unable to determine the format of ${INITRD_ORIG} -- Aborting!!!"
@ -100,53 +99,99 @@ echo "done!"
## that the root partition is not over nfs... ## that the root partition is not over nfs...
## ##
echo -n "===> Removing network drivers..." for M in ${MODULE_DIRS}; do
echo "===> Removing drivers for kernel version ${M} <==="
##rm -rf ${MODULE_DIR}/drivers/net/ethernet/* MODULE_DIR="lib/modules/${M}/kernel"
rm -rf ${MODULE_DIR}/drivers/net/*
echo -n "===> Removing unnecessary network drivers..."
##rm -rf ${MODULE_DIR}/drivers/net/ethernet/*
rm -rf ${MODULE_DIR}/drivers/net/*
echo "done!"
####
##
## Remove unnecessary filesystem support
##
##
echo -n "===> Removing unnecessary filesystems drivers..."
##rm -rf ${MODULE_DIR}/fs/nfs
rm -rf ${MODULE_DIR}/fs/xfs
rm -rf ${MODULE_DIR}/fs/btrfs
##rm -rf ${MODULE_DIR}/fs/ext4
rm -rf ${MODULE_DIR}/fs/fat
rm -rf ${MODULE_DIR}/fs/fuse
rm -rf ${MODULE_DIR}/fs/hfs
rm -rf ${MODULE_DIR}/fs/hfsplus
rm -rf ${MODULE_DIR}/fs/reiserfs
rm -rf ${MODULE_DIR}/fs/ntfs
rm -rf ${MODULE_DIR}/fs/jfs
rm -rf ${MODULE_DIR}/fs/jffs2
rm -rf ${MODULE_DIR}/fs/udf
rm -rf ${MODULE_DIR}/fs/nls
rm -rf ${MODULE_DIR}/fs/nfs_common
echo "done!"
####
##
## Remove the lftp and qla2xxx drivers (FibreChannel)
##
echo -n "===> Removing unnecessary SCSI drivers..."
rm -rf ${MODULE_DIR}/drivers/scsi/lpfc
rm -rf ${MODULE_DIR}/drivers/scsi/qla2xxx
rm -rf ${MODULE_DIR}/drivers/scsi/fnic
rm -rf ${MODULE_DIR}/drivers/scsi/csiostor
rm -rf ${MODULE_DIR}/drivers/scsi/isci
rm -rf ${MODULE_DIR}/drivers/scsi/cxgbi
rm -rf ${MODULE_DIR}/drivers/scsi/megaraid
rm -rf ${MODULE_DIR}/drivers/scsi/mpt2sas
rm -rf ${MODULE_DIR}/drivers/scsi/mpt3sas
rm -rf ${MODULE_DIR}/drivers/scsi/pm8001
rm -rf ${MODULE_DIR}/drivers/scsi/qla4xxx
rm -rf ${MODULE_DIR}/drivers/scsi/aic7xxx
rm -rf ${MODULE_DIR}/drivers/scsi/bfa
echo "done!"
## remove the gpu driver folder altogether
echo -n "===> Removing unnecessary GPU drivers..."
rm -rf ${MODULE_DIR}/drivers/gpu/
echo "done"
echo -n "===> Removing unnecessary firmware..."
rm -rf ${MODULE_DIR}/firmware/radeon/
rm -rf ${MODULE_DIR}/firmware/cxgb4
echo "done"
done
##
## Remove unnecessary stuff in /bin and /sbin
##
echo -n "===> Removing unnecessary stuff in /bin and /sbin..."
#rm -rf bin/rsync bin/wget
#rm -rf sbin/acpid
#rm -rf lib/systemd
echo "done!" echo "done!"
####
##
## Remove unnecessary filesystem support
##
##
echo -n "===> Removing unnecessary filesystems drivers..."
##rm -rf ${MODULE_DIR}/fs/nfs
rm -rf ${MODULE_DIR}/fs/xfs
rm -rf ${MODULE_DIR}/fs/btrfs
##rm -rf ${MODULE_DIR}/fs/ext4
rm -rf ${MODULE_DIR}/fs/fat
rm -rf ${MODULE_DIR}/fs/fuse
rm -rf ${MODULE_DIR}/fs/hfs
rm -rf ${MODULE_DIR}/fs/hfsplus
rm -rf ${MODULE_DIR}/fs/reiserfs
rm -rf ${MODULE_DIR}/fs/ntfs
rm -rf ${MODULE_DIR}/fs/jfs
rm -rf ${MODULE_DIR}/fs/jffs2
rm -rf ${MODULE_DIR}/fs/udf
rm -rf ${MODULE_DIR}/fs/nls
rm -rf ${MODULE_DIR}/fs/nfs_common
echo "done!"
####
##
## Remove the lftp and qla2xxx drivers (FibreChannel)
##
echo -n "===> Removing unnecessary SCSI drivers..."
rm -rf ${MODULE_DIR}/drivers/scsi/lpfc
rm -rf ${MODULE_DIR}/drivers/scsi/qla2xxx
echo "done!"
#### ####
## ##
@ -160,46 +205,6 @@ echo -n "===> Removing unnecessary libraries in /usr/lib..."
echo "done!" echo "done!"
#### ####
##
## Remove unnecessary stuff in /bin and /sbin
##
echo -n "===> Removing unnecessary stuff in /bin and /sbin..."
#rm -rf bin/rsync bin/wget
#rm -rf sbin/acpid
#rm -rf lib/systemd
echo "done!"
####
##
## Now we create the new slim initrd
##
# echo -n "===> Creating new initrd '${INITRD_NEW}' using ${INITRD_COMPR}..."
# find . | cpio -H newc -o | `echo ${INITRD_COMPR}` > ${INITRD_NEW}
# echo "done!"
####
##
## Now we go for the extremely stripped down initrd
##
rm -rf ${MODULE_DIR}/drivers/scsi/fnic
rm -rf ${MODULE_DIR}/drivers/scsi/csiostor
rm -rf ${MODULE_DIR}/drivers/scsi/isci
rm -rf ${MODULE_DIR}/drivers/scsi/cxgbi
rm -rf ${MODULE_DIR}/drivers/scsi/megaraid
rm -rf ${MODULE_DIR}/drivers/scsi/mpt2sas
rm -rf ${MODULE_DIR}/drivers/scsi/mpt3sas
rm -rf ${MODULE_DIR}/drivers/scsi/pm8001
rm -rf ${MODULE_DIR}/drivers/scsi/qla4xxx
rm -rf ${MODULE_DIR}/drivers/scsi/aic7xxx
rm -rf ${MODULE_DIR}/drivers/scsi/bfa
#### ####

View File

@ -24,8 +24,8 @@ default_shell="/bin/bash"
#grubversion="grub-efi-amd64" #grubversion="grub-efi-amd64"
##release="ascii" ##release="ascii"
mirror="http://devuan.mine.nu/merged" mirror="http://pkgmaster.devuan.org/merged"
section="main" section="main contrib non-free"
base_packages_option=(--no-install-recommends) base_packages_option=(--no-install-recommends)

View File

@ -3,7 +3,7 @@
# live-sdk is written and maintained by Ivan J. <parazyd@dyne.org> # live-sdk is written and maintained by Ivan J. <parazyd@dyne.org>
# #
# This file is part of live-sdk # This file is part of live-sdk
# devuan-minimal-live.blend is maintained by KatolaZ # devuan-minimal-live.blend is maintained by KatolaZ <katolaz@freaknet.org>
# #
# This source code is free software: you can redistribute it and/or modify # This source code is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -38,7 +38,7 @@ blend_preinst() {
notice "copying blend-specific debs" notice "copying blend-specific debs"
## TODO: copy the custom debs ## TODO: copy the custom debs
##cp -fv "$blend_release_path"/custom_debs/*.deb "$R/extra/custom-packages" cp -fv "$blend_release_path"/custom_debs/*.deb "$R/extra/custom-packages"
} }
blend_postinst() { blend_postinst() {
@ -54,12 +54,10 @@ blend_postinst() {
} }
## TODO: ENABLE THIS ## TODO: ENABLE THIS
#install-custdebs || zerr install-custdebs || zerr
pushd "$strapdir" pushd "$strapdir"
sudo rsync -avx --no-o --no-g "$blend_release_path"/rootfs_overlay/* . || zerr sudo rsync -avx --no-o --no-g "$blend_release_path"/rootfs_overlay/* . || zerr
sudo chmod 755 etc/init.d/boot_beep sudo chmod 755 etc/init.d/boot_beep
## TODO:
## insserv boot_beep
popd popd
blend_finalize || zerr blend_finalize || zerr
@ -300,19 +298,41 @@ INITRD_COMPR="xz --check=crc32 --x86 -6 -"
/create_initrd.sh /initrd.img /boot/\${SLIM_INITRD} \ /create_initrd.sh /initrd.img /boot/\${SLIM_INITRD} \
"\${INITRD_COMPR}" \${MICRO_INITRD} "\${INITRD_COMPR}" \${MICRO_INITRD}
rm /initrd.img rm -f $(realpath /initrd.img)
ln -s /boot/\${MICRO_INITRD} /initrd.img rm -f $(realpath /initrd.img.old)
echo "====> Content of /boot before rm:"
ls /boot
rm -f /initrd.img
rm -f /initrd.img.old
rm -f /boot/initrd.img-*
echo "====> Content of /boot AFTER rm:"
ls /boot
ln -s \${MICRO_INITRD} /initrd.img
## rm create_initrd.sh ## rm create_initrd.sh
##sudo rm /create_initrd.sh ##rm /create_initrd.sh
## package list ## package list
dpkg -l | awk '/^ii/ { print $2 " " $3 }' > /home/${username}/package_list dpkg -l | awk '/^ii/ { print $2 " " $3 }' > /home/${username}/package_list
apt-get update ##apt-get update
apt-get clean apt-get clean
rm /var/cache/apt/*.bin
updatedb updatedb
EOF EOF
cp ${strapdir}/finalize ${strapdir}/finalize.bak
} }
@ -326,5 +346,10 @@ blend_finalize() {
put_finalize put_finalize
chroot-script -d finalize || zerr #chroot-script -d finalize || zerr
chroot-script finalize || zerr
printf "copying ${strapdir}/boot/initrd.img to ${workdir}/binary/live/..."
sudo cp -L ${strapdir}/boot/initrd.img ${workdir}/binary/live/
echo "done"
} }