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.4 2006-11-24 17:24:15 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 |
|
MAKEDEV="/usr/lib/mkinitrd/MAKEDEV.sh" |
|
LINUXRC="/usr/lib/mkinitrd-livecd/linuxrc.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" |
|
49 |
|
|
50 |
compress=1 |
compress=1 |
51 |
allowmissing="" |
allowmissing="" |
245 |
# need r00t privs |
# need r00t privs |
246 |
[[ $(id -u) != 0 ]] && die "you must be r00t." |
[[ $(id -u) != 0 ]] && die "you must be r00t." |
247 |
|
|
248 |
|
# enforce initramfs method as default |
249 |
|
[[ -z ${IMAGE_TYPE} ]] && IMAGE_TYPE=initramfs |
250 |
|
|
251 |
while [ $# -gt 0 ]; do |
while [ $# -gt 0 ]; do |
252 |
case $1 in |
case $1 in |
253 |
--version) |
--version) |
283 |
|
|
284 |
|
|
285 |
# create basic filesystem layout |
# create basic filesystem layout |
286 |
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 |
287 |
|
|
288 |
# install busybox |
# install busybox |
289 |
echo "$(which busybox.mkinitrd)" |
echo "$(which busybox.mkinitrd)" |
290 |
install -m0755 $(which busybox.mkinitrd) ${DEST}/bin/busybox || die |
install -m0755 $(which busybox.mkinitrd) ${DEST}/bin/busybox || die |
291 |
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 \ |
292 |
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 \ |
293 |
pivot_root ps pwd rm rmdir sh sleep test touch true umount uname \ |
ps pwd rm rmdir sh sleep test touch true umount uname \ |
294 |
xargs yes chmod chown |
xargs yes chmod chown |
295 |
do |
do |
296 |
# static links |
# static links |
297 |
ln ${DEST}/bin/busybox ${DEST}/bin/${i} || die "${i}" |
ln ${DEST}/bin/busybox ${DEST}/bin/${i} || die "${i}" |
298 |
done |
done |
299 |
|
|
300 |
|
# sbin related |
301 |
|
for i in chroot init losetup modprobe pivot_root |
302 |
|
do |
303 |
|
# static links |
304 |
|
ln ${DEST}/bin/busybox ${DEST}/sbin/${i} || die "${i}" |
305 |
|
done |
306 |
|
|
307 |
# install run-init |
# install run-init |
308 |
echo "$(which run-init.mkinitrd)" |
echo "$(which run-init.mkinitrd)" |
309 |
install -m0755 $(which run-init.mkinitrd) ${DEST}/bin/run-init || die |
install -m0755 $(which run-init.mkinitrd) ${DEST}/sbin/run-init || die |
310 |
|
|
311 |
# install insmod.static |
# install insmod.static |
312 |
echo "$(which insmod.static)" |
echo "$(which insmod.static)" |
313 |
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 |
|
314 |
|
|
315 |
# create some needed device nodes |
# create some needed device nodes |
316 |
mkdir ${DEST}/dev/mapper || die |
install -o root -g root -m0754 ${MAKEDEV} ${DESTDIR}/dev/MAKEDEV || die |
317 |
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 |
|
318 |
|
|
319 |
## install kernel modules ## |
## install kernel modules ## |
320 |
# generic needed |
# generic needed |