From f401ab51d123d535bd5da570eae119a3380eb08b Mon Sep 17 00:00:00 2001 From: johndah4x0r Date: Thu, 27 Jul 2017 17:11:13 +0200 Subject: [PATCH] Renamed to gen-initramfs --- initramfs/initramfs_create | 130 ------------------------------------- 1 file changed, 130 deletions(-) delete mode 100755 initramfs/initramfs_create diff --git a/initramfs/initramfs_create b/initramfs/initramfs_create deleted file mode 100755 index 600d171..0000000 --- a/initramfs/initramfs_create +++ /dev/null @@ -1,130 +0,0 @@ -#!/bin/bash -# Create initramfs image -# Author: Tomas M -# - -. ../.config - -INITRAMFS=/tmp/$LIVEKITNAME-initramfs-$$ - -# copy file to initramfs tree, including -# all library dependencies (as shown by ldd) -# $1 = file to copy (full path) -copy_including_deps() -{ - # if source doesn't exist or target exists, do nothing - if [ ! -e "$1" -o -e "$INITRAMFS"/"$1" ]; then - return - fi - - cp -R --parents "$1" "$INITRAMFS" - if [ -L "$1" ]; then - DIR="$(dirname "$1")" - LNK="$(readlink "$1")" - copy_including_deps "$(cd "$DIR"; realpath -s "$LNK")" - fi - - ldd "$1" 2>/dev/null | sed -r "s/.*=>|[(].*//g" | sed -r "s/^\\s+|\\s+\$//" \ - | while read LIB; do - copy_including_deps "$LIB" - done - - for MOD in $(find "$1" -type f | grep .ko); do - for DEP in $(cat /$LMK/modules.dep | fgrep /$(basename $MOD):); do - copy_including_deps "/$LMK/$DEP" - done - done - - shift - if [ "$1" != "" ]; then - copy_including_deps "$@" - fi -} - -rm -Rf $INITRAMFS -mkdir -p $INITRAMFS/{bin,dev,etc,lib,lib64,mnt,proc,root,run,sys,tmp,usr,var/log} -ln -s bin $INITRAMFS/sbin - -cd static -./update -cd .. - -cp static/{busybox,mount.dynfilefs,mount.ntfs-3g,eject} $INITRAMFS/bin -chmod a+x $INITRAMFS/bin/{busybox,mount.*,eject} - -$INITRAMFS/bin/busybox | grep , | grep -v Copyright | tr "," " " | while read LINE; do - for TOOL in $LINE; do - if [ ! -e $INITRAMFS/bin/$TOOL ]; then - ln -s busybox $INITRAMFS/bin/$TOOL - fi - done -done -rm -f $INITRAMFS/{s,}bin/init - -mknod $INITRAMFS/dev/console c 5 1 -mknod $INITRAMFS/dev/null c 1 3 -mknod $INITRAMFS/dev/ram0 b 1 0 -mknod $INITRAMFS/dev/tty1 c 4 1 -mknod $INITRAMFS/dev/tty2 c 4 2 -mknod $INITRAMFS/dev/tty3 c 4 3 -mknod $INITRAMFS/dev/tty4 c 4 4 - -#copy_including_deps /usr/bin/strace -#copy_including_deps /usr/bin/lsof - -copy_including_deps /$LMK/kernel/fs # all filesystems -copy_including_deps /$LMK/kernel/drivers/staging/zsmalloc # needed by zram -copy_including_deps /$LMK/kernel/drivers/block/zram -copy_including_deps /$LMK/kernel/drivers/block/loop.* - -# usb drivers -copy_including_deps /$LMK/kernel/drivers/usb/storage/usb-storage.* -copy_including_deps /$LMK/kernel/drivers/usb/host -copy_including_deps /$LMK/kernel/drivers/usb/common -copy_including_deps /$LMK/kernel/drivers/usb/core -copy_including_deps /$LMK/kernel/drivers/hid/usbhid -copy_including_deps /$LMK/kernel/drivers/hid/hid.* -copy_including_deps /$LMK/kernel/drivers/hid/uhid.* -copy_including_deps /$LMK/kernel/drivers/hid/hid-generic.* - -# disk and cdrom drivers -copy_including_deps /$LMK/kernel/drivers/cdrom -copy_including_deps /$LMK/kernel/drivers/scsi/sr_mod.* -copy_including_deps /$LMK/kernel/drivers/scsi/sd_mod.* -copy_including_deps /$LMK/kernel/drivers/scsi/scsi_mod.* -copy_including_deps /$LMK/kernel/drivers/scsi/sg.* -copy_including_deps /$LMK/kernel/drivers/ata - -# copy all custom-built modules -copy_including_deps /$LMK/updates - -copy_including_deps /$LMK/modules.* - - -find $INITRAMFS -name "*.ko.gz" -exec gunzip {} \; - -# trim modules.order file. Perhaps we could remove it entirely -MODULEORDER="$(cd "$INITRAMFS/$LMK/"; find -name "*.ko" | sed -r "s:^./::g" | tr "\n" "|" | sed -r "s:[.]:.:g")" -cat $INITRAMFS/$LMK/modules.order | sed -r "s/.ko.gz\$/.ko/" | grep -E "$MODULEORDER"/foo/bar > $INITRAMFS/$LMK/_ -mv $INITRAMFS/$LMK/_ $INITRAMFS/$LMK/modules.order - -depmod -b $INITRAMFS $KERNEL - -echo "root::0:0::/root:/bin/bash" >$INITRAMFS/etc/passwd -touch $INITRAMFS/etc/{m,fs}tab - -cp init $INITRAMFS -chmod a+x $INITRAMFS/init -cp cleanup $INITRAMFS/lib -chmod a+x $INITRAMFS/lib/cleanup -ln -s ../init $INITRAMFS/bin/init -cp ../livekitlib $INITRAMFS/lib/ -cp ../.config $INITRAMFS/lib/ - -cd $INITRAMFS -find . -print | cpio -o -H newc 2>/dev/null | xz -f --extreme --check=crc32 >$INITRAMFS.img -echo $INITRAMFS.img - -cd .. -rm -Rf $INITRAMFS -#mv $INITRAMFS.img /tmp/initrfs.img