1 |
#!/bin/bash |
#!/bin/bash |
2 |
# $Header: /home/cvsd/magellan-cvs/magellan-src/mkinitrd/mkinitrd-livecd.sh,v 1.1 2006-02-21 00:02:17 niro Exp $ |
# $Header: /home/cvsd/magellan-cvs/magellan-src/mkinitrd/mkinitrd-livecd.sh,v 1.6 2007-04-29 20:55:11 niro Exp $ |
3 |
|
|
4 |
# mkinitrd-livecd |
# mkinitrd-livecd |
5 |
# |
# |
40 |
|
|
41 |
[ -e /etc/conf.d/mkinitrd-livecd ] && . /etc/conf.d/mkinitrd-livecd |
[ -e /etc/conf.d/mkinitrd-livecd ] && . /etc/conf.d/mkinitrd-livecd |
42 |
|
|
43 |
#LINUXRC="/home/tjoke/alx-cvs/magellan-src/mkinitrd/lib/linuxrc.sh" |
LINUXRC="/usr/lib/mkinitrd/linuxrc.sh" |
44 |
#MODULES_GENERIC="/home/tjoke/alx-cvs/magellan-src/mkinitrd/lib/modules.generic" |
MODULES_GENERIC="/usr/lib/mkinitrd/modules.generic" |
45 |
#MODULES_USB="/home/tjoke/alx-cvs/magellan-src/mkinitrd/lib/modules.usb" |
MODULES_USB="/usr/lib/mkinitrd/modules.usb" |
46 |
#MODULES_SCSI="/home/tjoke/alx-cvs/magellan-src/mkinitrd/lib/modules.scsi" |
MODULES_SCSI="/usr/lib/mkinitrd/modules.scsi" |
47 |
#MODULES_SATA="/home/tjoke/alx-cvs/magellan-src/mkinitrd/lib/modules.sata" |
MODULES_SATA="/usr/lib/mkinitrd/modules.sata" |
48 |
|
MODULES_PATA="/usr/lib/mkinitrd/modules.pata" |
49 |
LINUXRC="/usr/lib/mkinitrd-livecd/linuxrc.sh" |
MAKEDEV="/usr/lib/mkinitrd/MAKEDEV.sh" |
|
MODULES_GENERIC="/usr/lib/mkinitrd-livecd/modules.generic" |
|
|
MODULES_USB="/usr/lib/mkinitrd-livecd/modules.usb" |
|
|
MODULES_SCSI="/usr/lib/mkinitrd-livecd/modules.scsi" |
|
|
MODULES_SATA="/usr/lib/mkinitrd-livecd/modules.sata" |
|
50 |
|
|
51 |
compress=1 |
compress=1 |
52 |
allowmissing="" |
allowmissing="" |
246 |
# need r00t privs |
# need r00t privs |
247 |
[[ $(id -u) != 0 ]] && die "you must be r00t." |
[[ $(id -u) != 0 ]] && die "you must be r00t." |
248 |
|
|
249 |
|
# enforce initramfs method as default |
250 |
|
[[ -z ${IMAGE_TYPE} ]] && IMAGE_TYPE=initramfs |
251 |
|
|
252 |
while [ $# -gt 0 ]; do |
while [ $# -gt 0 ]; do |
253 |
case $1 in |
case $1 in |
254 |
--version) |
--version) |
284 |
|
|
285 |
|
|
286 |
# create basic filesystem layout |
# create basic filesystem layout |
287 |
install -d ${DEST}/{bin,dev,etc,lib,loopfs,proc,sys,sysroot} || die |
install -d ${DEST}/{bin,dev,etc,lib,loopfs,proc,sbin,sys,sysroot} || die |
288 |
|
|
289 |
# install busybox |
# install busybox |
290 |
echo "$(which busybox.mkinitrd)" |
echo "$(which busybox.mkinitrd)" |
291 |
install -m0755 $(which busybox.mkinitrd) ${DEST}/bin/busybox || die |
install -m0755 $(which busybox.mkinitrd) ${DEST}/bin/busybox || die |
292 |
for i in '[' ash basename cat cut chroot clear cp dirname echo env false find \ |
for i in '[' ash basename cat cut clear cp dirname echo env false find \ |
293 |
grep gunzip gzip init ln ls loadkmap losetup mkdir mknod modprobe more mount mv \ |
grep gunzip gzip ln ls loadkmap mkdir mknod more mount mv \ |
294 |
pivot_root ps pwd rm rmdir sh sleep test touch true umount uname \ |
ps pwd rm rmdir sh sleep test touch true umount uname \ |
295 |
xargs yes chmod chown |
xargs yes chmod chown |
296 |
do |
do |
297 |
# static links |
# static links |
298 |
ln ${DEST}/bin/busybox ${DEST}/bin/${i} || die "${i}" |
ln ${DEST}/bin/busybox ${DEST}/bin/${i} || die "${i}" |
299 |
done |
done |
300 |
|
|
301 |
|
# sbin related |
302 |
|
for i in chroot init losetup modprobe pivot_root |
303 |
|
do |
304 |
|
# static links |
305 |
|
ln ${DEST}/bin/busybox ${DEST}/sbin/${i} || die "${i}" |
306 |
|
done |
307 |
|
|
308 |
# install run-init |
# install run-init |
309 |
echo "$(which run-init.mkinitrd)" |
echo "$(which run-init.mkinitrd)" |
310 |
install -m0755 $(which run-init.mkinitrd) ${DEST}/bin/run-init || die |
install -m0755 $(which run-init.mkinitrd) ${DEST}/sbin/run-init || die |
311 |
|
|
312 |
# install insmod.static |
# install insmod.static |
313 |
echo "$(which insmod.static)" |
echo "$(which insmod.static)" |
314 |
install -m0755 $(which insmod.static) ${DEST}/bin/insmod || die |
install -m0755 $(which insmod.static) ${DEST}/sbin/insmod || die |
|
|
|
|
# install udev |
|
|
cp -a /etc/udev ${DEST}/etc || die |
|
|
install -m0755 /sbin/udev.static ${DEST}/bin/udev || die |
|
|
install -m0755 /sbin/udevd.static ${DEST}/bin/udevd || die |
|
|
install -m0755 /sbin/udevstart.static ${DEST}/bin/udevstart || die |
|
315 |
|
|
316 |
# create some needed device nodes |
# create some needed device nodes |
317 |
mkdir ${DEST}/dev/mapper || die |
install -o root -g root -m0754 ${MAKEDEV} ${DEST}/dev/MAKEDEV || die |
318 |
mknod ${DEST}/dev/console c 5 1 || die |
( cd ${DEST}/dev; ./MAKEDEV -v generic-nopty) |
|
mknod ${DEST}/dev/null c 1 3 || die |
|
|
mknod ${DEST}/dev/ram b 1 1 || die |
|
|
mknod ${DEST}/dev/rtc c 10 135 || die |
|
|
mknod ${DEST}/dev/systty c 4 0 || die |
|
|
mknod ${DEST}/dev/tty c 5 0 || die |
|
|
mknod ${DEST}/dev/zero c 1 5 || die |
|
|
for ((i=0; i < 13; i++)) |
|
|
do |
|
|
mknod ${DEST}/dev/tty${i} c 4 ${i} || die "tty${i}" |
|
|
done |
|
|
for ((i=64; i < 68; i++)) |
|
|
do |
|
|
mknod ${DEST}/dev/ttyS$((${i} - 64)) c 4 ${i} || die "ttyS$((${i} - 64))" |
|
|
done |
|
319 |
|
|
320 |
## install kernel modules ## |
## install kernel modules ## |
321 |
# generic needed |
# generic needed |
330 |
# sata |
# sata |
331 |
install_kernel_modules "${MODULES_SATA}" |
install_kernel_modules "${MODULES_SATA}" |
332 |
|
|
333 |
|
# pata |
334 |
|
install_kernel_modules "${MODULES_PATA}" |
335 |
|
|
336 |
# show all modules |
# show all modules |
337 |
for i in ${ALL_MODULES} |
for i in ${ALL_MODULES} |
338 |
do |
do |