#!/bin/sh # --- SDE-COPYRIGHT-NOTE-BEGIN --- # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # # Filename: package/.../mkinitramfs/files/50-kernel.sh # Copyright (C) 2007 - 2008 The OpenSDE Project # # More information can be found in the files COPYING and README. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. A copy of the # GNU General Public License can be found in the file COPYING. # --- SDE-COPYRIGHT-NOTE-END --- MODINFO=${MODINFO:-/sbin/modinfo} DEPMOD=${DEPMOD:-/sbin/depmod} set -e if [ -n "$moddir" ]; then # sanity checks for tool in $MODINFO $DEPMOD; do if [ ! -x "$tool" ]; then echo "ERROR: $tool is no available" exit 1 fi done if [ "$running" ]; then echo "TODO: building on a running system, we can take the list of active modules." fi module_install() { local module= source= target= if [ -r "$1" ]; then # absolute path source="$1" module=${source##*/}; module=${module%.ko} else module="$1" source="$( find "$moddir/kernel" -name "$module.ko" | head -n 1 )" fi if [ -r "$source" ]; then target="lib/modules/$kernelver/${source#$moddir/}" if [ ! -f $target ]; then echo -n " $module" mkdir -p "${target%/*}" cp "$source" "$target" for dep in $( $MODINFO "$source" | grep "^depends:" | tr -s ' ' | cut -d' ' -f2 | tr ',' ' ' ); do module_install "$dep" done fi else modules_missing="$modules_missing $module" echo -n " [$module]" fi } echo -n "Installing modules:" modules_missing= if [ -n "$MKINITRD_MODULES" ]; then for module in $MKINITRD_MODULES; do module_install "$module" done fi # greedy^3 find $moddir/kernel/drivers/{block,ata,ide,ieee1394,md,scsi,cdrom,usb,message} \ $moddir/kernel/{lib,fs} \ -type f | while read file; do module_install "$file" done echo $DEPMOD -ae -b "$tmpdir" -F "$sysmap" "$kernelver" [ -z "$modules_missing" ] || echo "Failed to find:$modules_missing" fi