48 |
MODULES_SATA="${LIBDIR}/mkinitrd/modules.sata" |
MODULES_SATA="${LIBDIR}/mkinitrd/modules.sata" |
49 |
MODULES_PATA="${LIBDIR}/mkinitrd/modules.pata" |
MODULES_PATA="${LIBDIR}/mkinitrd/modules.pata" |
50 |
MODULES_FRAMEBUFFER="${LIBDIR}/mkinitrd/modules.framebuffer" |
MODULES_FRAMEBUFFER="${LIBDIR}/mkinitrd/modules.framebuffer" |
51 |
|
FIRMWARE_PATH="/lib/firmware" |
52 |
|
FIRMWARE_FILES="" |
53 |
|
|
54 |
compress=1 |
compress=1 |
55 |
allowmissing="" |
allowmissing="" |
256 |
modname="${modname/${i}/}" |
modname="${modname/${i}/}" |
257 |
done |
done |
258 |
echo "${modname}" >> ${DEST}/etc/$(basename ${list}) || die |
echo "${modname}" >> ${DEST}/etc/$(basename ${list}) || die |
259 |
|
|
260 |
|
# get and install firmware files if neccessary |
261 |
|
if [ -x $(which modinfo 2> /dev/null) ] |
262 |
|
then |
263 |
|
local firmware_blobs |
264 |
|
local firmware |
265 |
|
module=$(echo ${MODULE} | sed "s|.*/||" | sed -e "s/.k\?o.\?g\?z\?$//" -e "s/.gz//") |
266 |
|
firmware_blobs=$(modinfo ${module} | grep 'firmware:' | sed 's:^firmware\:.*[[:space:]]\(.*\):\1:') |
267 |
|
if [[ ! -z ${firmware_blobs} ]] |
268 |
|
then |
269 |
|
for firmware in ${firmware_blobs} |
270 |
|
do |
271 |
|
add_firmware "${firmware}" |
272 |
|
done |
273 |
|
fi |
274 |
|
if [[ ! -z ${FIRMWARE_FILES} ]] |
275 |
|
then |
276 |
|
for firmware in ${FIRMWARE_FILES} |
277 |
|
do |
278 |
|
if [ -e ${FIRMWARE_PATH}/${firmware} ] |
279 |
|
then |
280 |
|
echo "installing firmware '${firmware}'" |
281 |
|
install ${verbose} -d ${DEST}/${FIRMWARE_PATH}/${firmware%/*} || die |
282 |
|
cp ${verbose} -a ${FIRMWARE_PATH}/${firmware} ${DEST}/${FIRMWARE_PATH}/${firmware%/*} || die |
283 |
|
fi |
284 |
|
done |
285 |
|
fi |
286 |
|
else |
287 |
|
echo "Warning 'modinfo' not found" |
288 |
|
fi |
289 |
done |
done |
290 |
|
|
291 |
export ALL_MODULES="${ALL_MODULES} ${MODULES}" |
export ALL_MODULES="${ALL_MODULES} ${MODULES}" |
292 |
unset MODULES |
unset MODULES |
293 |
} |
} |
294 |
|
|
295 |
|
add_firmware() |
296 |
|
{ |
297 |
|
local firmware="$1" |
298 |
|
local i |
299 |
|
|
300 |
|
# check if given firmware is already included in FIRMWARE_FILES |
301 |
|
for i in ${FIRMWARE_FILES} |
302 |
|
do |
303 |
|
[[ ${firmware} = ${i} ]] && return 0 |
304 |
|
done |
305 |
|
|
306 |
|
# include firmware |
307 |
|
FIRMWARE_FILES="${FIRMWARE_FILES} ${firmware}" |
308 |
|
} |
309 |
|
|
310 |
# need r00t privs |
# need r00t privs |
311 |
[[ $(id -u) != 0 ]] && die "you must be r00t." |
[[ $(id -u) != 0 ]] && die "you must be r00t." |
312 |
|
|