13 |
export CDISOROOT=${LIVECDROOT}/isoroot |
export CDISOROOT=${LIVECDROOT}/isoroot |
14 |
export CDMAGEDIR=${LIVECDROOT}/files/mage-src |
export CDMAGEDIR=${LIVECDROOT}/files/mage-src |
15 |
export CDMAGERC=${CDMAGEDIR}/mage.rc |
export CDMAGERC=${CDMAGEDIR}/mage.rc |
16 |
export CDISONAME=magellan-livecd-i486.iso |
export CDISONAME=magellan-livecd.iso |
17 |
export CDHOSTNAME=magellan-i486 |
export CDHOSTNAME=magellan-live |
18 |
export CDTOOLCHAIN=${LIVECDROOT}/files/magellan-toolchain-0.3-i486.tar.bz2 |
export CDTOOLCHAIN=${LIVECDROOT}/files/magellan-toolchain-0.3-i486.tar.bz2 |
19 |
export CDLAYOUTDIR=${LIVECDROOT}/files/ |
export CDLAYOUTDIR=${LIVECDROOT}/files/ |
20 |
|
|
|
###export CDLAYOUTFILE=magellan_layout-i486 |
|
21 |
export CDLAYOUTFILE=magellan_layout-i686-mage-0.3.99-r1-kernel26 |
export CDLAYOUTFILE=magellan_layout-i686-mage-0.3.99-r1-kernel26 |
22 |
|
|
23 |
|
|
24 |
#usbstick: vfat doesn't like CAPS and strings longer than 8 chars |
# usbstick: vfat doesn't like CAPS and strings longer than 8 chars |
25 |
export CDID=cdid |
export CDID=cdid |
26 |
export VERSION=0.3.6-r7 |
export VERSION=0.3.6-r7 |
27 |
export CDINITRD=${LIVECDROOT}/mntinitrd |
export CDINITRD=${LIVECDROOT}/mntinitrd |
28 |
export CDISOLOOP=${LIVECDROOT}/isoloop |
export CDISOLOOP=${LIVECDROOT}/isoloop |
29 |
#export CDISOLOOPSIZE=400000 |
|
30 |
#autodeterminate loopsize + 20MB will be used later in script |
# kernel 2.4.22 needs cloop-1.02, smaller or above will not work >:/ *grrr* |
|
#export CDISOLOOPSIZE="$(expr 20000 + $(du -Ds ${CDCHROOTDIR}|cut -d 'c' -f1))" |
|
|
#kernel 2.4.22 needs cloop-1.02, smaller or above will not work >:/ *grrr* |
|
31 |
export CLOOPFILE=cloop-1.02-precompiled.tar.bz2 |
export CLOOPFILE=cloop-1.02-precompiled.tar.bz2 |
32 |
export CLOOPDIR=cloop-1.02 |
export CLOOPDIR=cloop-1.02 |
33 |
|
|
34 |
#busybox-0.60.3 is official stable |
# busybox-0.60.3 is official stable |
|
#export BUSYBOXFILE=busybox-0.60.3-precompiled.tar.bz2 |
|
|
#export BUSYBOXDIR=busybox-0.60.3 |
|
35 |
export BUSYBOXFILE=busybox-1.00-precompiled.tar.bz2 |
export BUSYBOXFILE=busybox-1.00-precompiled.tar.bz2 |
36 |
export BUSYBOXDIR=busybox-1.00 |
export BUSYBOXDIR=busybox-1.00 |
37 |
|
|
82 |
} |
} |
83 |
|
|
84 |
create_chrootdirs() { |
create_chrootdirs() { |
85 |
#creating directories |
# creating directories |
86 |
mkdir -p ${CDCHROOTDIR}/{bin,boot,dev/shm,etc,home,lib/dev-state,mnt,proc} \ |
mkdir -p ${CDCHROOTDIR}/{bin,boot,dev/shm,etc,home,lib/dev-state,mnt,proc} \ |
87 |
&>/dev/null || die |
&>/dev/null || die |
88 |
mkdir -p ${CDCHROOTDIR}/etc/{opt,env.d} &>/dev/null || die |
mkdir -p ${CDCHROOTDIR}/etc/{opt,env.d} &>/dev/null || die |
131 |
|
|
132 |
##Creating the bash and sh symlinks |
##Creating the bash and sh symlinks |
133 |
ln -s /tools/bin/{bash,cat,pwd,stty} ${CDCHROOTDIR}/bin &>/dev/null || die |
ln -s /tools/bin/{bash,cat,pwd,stty} ${CDCHROOTDIR}/bin &>/dev/null || die |
134 |
ln -s /tools/bin/perl ${CDCHROOTDIR}/usr/bin &>/dev/null || die |
#ln -s /tools/bin/perl ${CDCHROOTDIR}/usr/bin &>/dev/null || die |
135 |
ln -s /tools/lib/libgcc_s.so.1 ${CDCHROOTDIR}/usr/lib &>/dev/null || die |
ln -s /tools/lib/libgcc_s.so.1 ${CDCHROOTDIR}/usr/lib &>/dev/null || die |
136 |
ln -s bash ${CDCHROOTDIR}/bin/sh &>/dev/null || die |
ln -s bash ${CDCHROOTDIR}/bin/sh &>/dev/null || die |
|
#needed by >=mage-0.3.4-r2 |
|
137 |
ln -s /tools/bin/{basename,cut,fgrep,grep} ${CDCHROOTDIR}/bin &>/dev/null || die |
ln -s /tools/bin/{basename,cut,fgrep,grep} ${CDCHROOTDIR}/bin &>/dev/null || die |
138 |
ln -s /tools/bin/whoami ${CDCHROOTDIR}/usr/bin &>/dev/null || die |
ln -s /tools/bin/whoami ${CDCHROOTDIR}/usr/bin &>/dev/null || die |
|
#needed by >=mage-0.3.6-r2 |
|
139 |
ln -s /tools/bin/{date,ls,egrep,wc} ${CDCHROOTDIR}/bin &>/dev/null || die |
ln -s /tools/bin/{date,ls,egrep,wc} ${CDCHROOTDIR}/bin &>/dev/null || die |
140 |
ln -s /tools/sbin/ldconfig ${CDCHROOTDIR}/sbin/ldconfig &>/dev/null || die |
ln -s /tools/sbin/ldconfig ${CDCHROOTDIR}/sbin/ldconfig &>/dev/null || die |
|
|
|
|
#needed by >=mage-0.3.6-r6 |
|
|
touch ${CDCHROOTDIR}/etc/env.d/dummy || die |
|
|
touch ${CDCHROOTDIR}/etc/profile || die |
|
141 |
ln -s /tools/bin/sed ${CDCHROOTDIR}/bin || die |
ln -s /tools/bin/sed ${CDCHROOTDIR}/bin || die |
142 |
ln -s /tools/bin/dirname ${CDCHROOTDIR}/usr/bin || die |
ln -s /tools/bin/dirname ${CDCHROOTDIR}/usr/bin || die |
143 |
|
|
144 |
|
## needed empty files (to prevent warnings only) |
145 |
|
touch ${CDCHROOTDIR}/etc/env.d/dummy || die |
146 |
|
touch ${CDCHROOTDIR}/etc/profile || die |
147 |
|
|
148 |
if [ -n "${DIE}" ] |
if [ -n "${DIE}" ] |
149 |
then |
then |
150 |
return 1 |
return 1 |
181 |
create_chrootdirs |
create_chrootdirs |
182 |
evaluate_retval |
evaluate_retval |
183 |
|
|
184 |
mecho Creating needed devices for devfs ... |
mecho Creating needed devices for devfs/udev ... |
185 |
( mknod -m 611 ${CDCHROOTDIR}/dev/console c 5 1 &>/dev/null && \ |
( mknod -m 611 ${CDCHROOTDIR}/dev/console c 5 1 &>/dev/null && \ |
186 |
chgrp 4 ${CDCHROOTDIR}/dev/console &>/dev/null && |
chgrp 4 ${CDCHROOTDIR}/dev/console &>/dev/null && |
187 |
mknod -m 666 ${CDCHROOTDIR}/dev/null c 1 3 &>/dev/null ) |
mknod -m 666 ${CDCHROOTDIR}/dev/null c 1 3 &>/dev/null ) |
209 |
audio:x:11: |
audio:x:11: |
210 |
EOF |
EOF |
211 |
evaluate_retval |
evaluate_retval |
|
|
|
|
#touch ${LIVECDROOT}/.chrootok |
|
212 |
} |
} |
213 |
|
|
214 |
enter_chroot() { |
enter_chroot() { |
215 |
secho Entering Chroot ... |
secho Entering Chroot ... |
216 |
mount proc ${CDCHROOTDIR}/proc -t proc |
mount proc ${CDCHROOTDIR}/proc -t proc |
217 |
mount devfs ${CDCHROOTDIR}/dev -t devfs |
# devfs is deprecated with kernel-2.6 |
218 |
|
#mount devfs ${CDCHROOTDIR}/dev -t devfs |
219 |
|
mount -o bind /dev ${CDCHROOTDIR}/dev |
220 |
|
|
221 |
getstate |
getstate |
222 |
if [ "${CDSTATE}" != "null" ] |
if [ "${CDSTATE}" != "null" ] |
240 |
|
|
241 |
install_mage_bashrc() { |
install_mage_bashrc() { |
242 |
cat >> ${CDCHROOTDIR}/root/.bashrc << "EOF" |
cat >> ${CDCHROOTDIR}/root/.bashrc << "EOF" |
|
#secho Installing MAGE ... |
|
|
|
|
|
#not needed anymore |
|
|
#mecho Creating MAGE directories ... |
|
|
#( source /bootstrap/mage.rc && \ |
|
|
# install -d ${PKGDIR} && \ |
|
|
# install -d ${BUILDDIR} && \ |
|
|
# install -d ${INSTALLDB} && \ |
|
|
# install -d ${MAGEDIR} && \ |
|
|
# install -d /etc && \ |
|
|
# install -d /sbin && \ |
|
|
# install -d /usr/lib/mage ) |
|
|
#evaluate_retval |
|
|
|
|
|
#not needed anymore |
|
|
#mecho Installing MAGE files ... |
|
|
#( install -m0755 --owner root --group root \ |
|
|
# /bootstrap/{depwanderer.sh,mage3.sh,mage3.functions.sh} \ |
|
|
# /usr/lib/mage && \ |
|
|
# ln -s /usr/lib/mage/mage3.sh /sbin/mage && \ |
|
|
# install -m0644 /bootstrap/mage.rc /etc ) |
|
|
#evaluate_retval |
|
|
|
|
243 |
mecho Updating MAGE tree ... |
mecho Updating MAGE tree ... |
244 |
mage update &> /dev/null |
mage update &> /dev/null |
245 |
evaluate_retval |
evaluate_retval |
261 |
evaluate_retval |
evaluate_retval |
262 |
fi |
fi |
263 |
done |
done |
264 |
|
|
265 |
#needed for >=mage-0.3.6 |
#needed for >=mage-0.3.6 |
266 |
mecho Running etc-update ... |
mecho Running etc-update ... |
267 |
etc-update |
etc-update |
300 |
|
|
301 |
cleanup_chrootdir() { |
cleanup_chrootdir() { |
302 |
secho Cleaning up Chroot directory ... |
secho Cleaning up Chroot directory ... |
303 |
|
|
304 |
mecho Deleting bootstrap files ... |
mecho Deleting bootstrap files ... |
305 |
rm -rf ${CDCHROOTDIR}/bootstrap |
rm -rf ${CDCHROOTDIR}/bootstrap |
306 |
evaluate_retval |
evaluate_retval |
320 |
build_bootstrap() { |
build_bootstrap() { |
321 |
secho Preparing Chroot ... |
secho Preparing Chroot ... |
322 |
mecho Copy MAGE files to Chroot ... |
mecho Copy MAGE files to Chroot ... |
|
#( mkdir ${CDCHROOTDIR}/bootstrap && \ |
|
|
# cp ${CDMAGEDIR}/{depwanderer.sh,mage3.sh,mage3.functions.sh} \ |
|
|
# ${CDCHROOTDIR}/bootstrap && \ |
|
|
# cp ${CDMAGERC} ${CDCHROOTDIR}/bootstrap ) |
|
323 |
( install -d ${CDCHROOTDIR}/bootstrap && \ |
( install -d ${CDCHROOTDIR}/bootstrap && \ |
324 |
cp -R ${CDMAGEDIR}/* ${CDCHROOTDIR}/bootstrap ) |
cp -R ${CDMAGEDIR}/* ${CDCHROOTDIR}/bootstrap ) |
325 |
evaluate_retval |
evaluate_retval |
326 |
|
|
327 |
#installing mage to CDCHROOTDIR |
# installing mage to CDCHROOTDIR |
328 |
mecho Installing Mage ... |
mecho Installing Mage ... |
329 |
( chmod 0755 ${CDCHROOTDIR}/bootstrap/setup_mage.sh && \ |
( chmod 0755 ${CDCHROOTDIR}/bootstrap/setup_mage.sh && \ |
330 |
${CDCHROOTDIR}/bootstrap/setup_mage.sh \ |
${CDCHROOTDIR}/bootstrap/setup_mage.sh \ |
344 |
|
|
345 |
mecho Mounting Chroot filesystems ... |
mecho Mounting Chroot filesystems ... |
346 |
( mount proc ${CDCHROOTDIR}/proc -t proc && \ |
( mount proc ${CDCHROOTDIR}/proc -t proc && \ |
347 |
mount devfs ${CDCHROOTDIR}/dev -t devfs ) |
mount -o bind /devfs ${CDCHROOTDIR}/dev ) |
348 |
evaluate_retval |
evaluate_retval |
349 |
|
|
350 |
secho Starting bootstrap ... |
secho Starting bootstrap ... |
357 |
( umount ${CDCHROOTDIR}/proc && \ |
( umount ${CDCHROOTDIR}/proc && \ |
358 |
umount ${CDCHROOTDIR}/dev ) |
umount ${CDCHROOTDIR}/dev ) |
359 |
evaluate_retval |
evaluate_retval |
360 |
|
|
361 |
touch ${LIVECDROOT}/.bootstrapok |
touch ${LIVECDROOT}/.bootstrapok |
362 |
} |
} |
363 |
|
|
364 |
|
|
|
############# new initrd style with busybox and cloop support ###################### |
|
365 |
build_initrd() { |
build_initrd() { |
366 |
secho Building initrd ... |
secho Building initrd ... |
367 |
|
|
376 |
mecho Removing old initrd.gz |
mecho Removing old initrd.gz |
377 |
rm -f ${LIVECDROOT}/initrd.gz |
rm -f ${LIVECDROOT}/initrd.gz |
378 |
fi |
fi |
379 |
|
|
380 |
if [ -d ${LIVECDROOT}/tmp/${CLOOPDIR} ] |
if [ -d ${LIVECDROOT}/tmp/${CLOOPDIR} ] |
381 |
then |
then |
382 |
mecho Removing old cloop files |
mecho Removing old cloop files |
383 |
rm -rf ${LIVECDROOT}/tmp/${CLOOPDIR} |
rm -rf ${LIVECDROOT}/tmp/${CLOOPDIR} |
384 |
fi |
fi |
385 |
|
|
386 |
if [ -d ${LIVECDROOT}/tmp/${BUSYBOXDIR} ] |
if [ -d ${LIVECDROOT}/tmp/${BUSYBOXDIR} ] |
387 |
then |
then |
388 |
mecho Removing old busybox files |
mecho Removing old busybox files |
389 |
rm -rf ${LIVECDROOT}/tmp/${BUSYBOXDIR} |
rm -rf ${LIVECDROOT}/tmp/${BUSYBOXDIR} |
390 |
fi |
fi |
391 |
|
|
392 |
mecho Unpacking needed files ... |
mecho Unpacking needed files ... |
393 |
( mkdir -p ${LIVECDROOT}/tmp && \ |
( mkdir -p ${LIVECDROOT}/tmp && \ |
394 |
tar xjf ${CDLAYOUTDIR}/${CLOOPFILE} -C ${LIVECDROOT}/tmp && \ |
tar xjf ${CDLAYOUTDIR}/${CLOOPFILE} -C ${LIVECDROOT}/tmp && \ |
395 |
tar xjf ${CDLAYOUTDIR}/${BUSYBOXFILE} -C ${LIVECDROOT}/tmp ) |
tar xjf ${CDLAYOUTDIR}/${BUSYBOXFILE} -C ${LIVECDROOT}/tmp ) |
396 |
evaluate_retval |
evaluate_retval |
397 |
|
|
398 |
mecho Creating Image file ... |
mecho Creating Image file ... |
399 |
dd if=/dev/zero of=${LIVECDROOT}/initrd bs=1024 count=6144 \ |
dd if=/dev/zero of=${LIVECDROOT}/initrd bs=1024 count=6144 \ |
400 |
&> /dev/null |
&> /dev/null |
417 |
EOF |
EOF |
418 |
#installing cloop |
#installing cloop |
419 |
cp ${LIVECDROOT}/tmp/${CLOOPDIR}/cloop.o ${CDINITRD}/lib/modules/misc && \ |
cp ${LIVECDROOT}/tmp/${CLOOPDIR}/cloop.o ${CDINITRD}/lib/modules/misc && \ |
420 |
|
|
421 |
#installing busybox |
#installing busybox |
422 |
cp ${LIVECDROOT}/tmp/${BUSYBOXDIR}/busybox ${CDINITRD}/bin && \ |
cp ${LIVECDROOT}/tmp/${BUSYBOXDIR}/busybox ${CDINITRD}/bin && \ |
423 |
chmod 0755 ${CDINITRD}/bin/busybox && \ |
chmod 0755 ${CDINITRD}/bin/busybox && \ |
429 |
rm -f ${CDINITRD}/bin/$i |
rm -f ${CDINITRD}/bin/$i |
430 |
ln ${CDINITRD}/bin/busybox ${CDINITRD}/bin/$i |
ln ${CDINITRD}/bin/busybox ${CDINITRD}/bin/$i |
431 |
done && \ |
done && \ |
432 |
#symlink bin to sbin -> init inmod resist normally in sbin |
#symlink bin to sbin -> init & insmod resist normally in sbin |
433 |
ln -s bin ${CDINITRD}/sbin && \ |
ln -s bin ${CDINITRD}/sbin && \ |
434 |
ln -s ../bin ${CDINITRD}/usr/bin && \ |
ln -s ../bin ${CDINITRD}/usr/bin && \ |
435 |
ln -s ../bin ${CDINITRD}/usr/sbin && \ |
ln -s ../bin ${CDINITRD}/usr/sbin && \ |
440 |
./MAKEDEV -v generic-nopty &> /dev/null && \ |
./MAKEDEV -v generic-nopty &> /dev/null && \ |
441 |
cd ${LIVECDROOT} && \ |
cd ${LIVECDROOT} && \ |
442 |
mknod -m 600 ${CDINITRD}/dev/console c 5 1 && \ |
mknod -m 600 ${CDINITRD}/dev/console c 5 1 && \ |
443 |
mknod -m 666 ${CDINITRD}/dev/null c 1 3 |
mknod -m 666 ${CDINITRD}/dev/null c 1 3 |
444 |
cp ${CDCHROOTDIR}/etc/conf.d/kernel ${CDINITRD}/etc/conf.d/kernel ) |
cp ${CDCHROOTDIR}/etc/conf.d/kernel ${CDINITRD}/etc/conf.d/kernel ) |
445 |
evaluate_retval |
evaluate_retval |
446 |
|
|
474 |
install -d ${CDINITRD}/modules/scsi |
install -d ${CDINITRD}/modules/scsi |
475 |
for i in $(< ${CDLAYOUTDIR}/mods_scsi) |
for i in $(< ${CDLAYOUTDIR}/mods_scsi) |
476 |
do |
do |
|
#cp -a ${CDMODDIR}/scsi/${i}.* ${CDINITRD}/modules/scsi |
|
477 |
find ${CDMODDIR} -type f -name ${i}* -exec cp -a '{}' ${CDINITRD}/modules/scsi ';' |
find ${CDMODDIR} -type f -name ${i}* -exec cp -a '{}' ${CDINITRD}/modules/scsi ';' |
478 |
done |
done |
479 |
cat ${CDLAYOUTDIR}/mods_scsi > ${CDINITRD}/mods_scsi |
cat ${CDLAYOUTDIR}/mods_scsi > ${CDINITRD}/mods_scsi |
485 |
install -d ${CDINITRD}/modules/usb |
install -d ${CDINITRD}/modules/usb |
486 |
for i in $(< ${CDLAYOUTDIR}/mods_usb) |
for i in $(< ${CDLAYOUTDIR}/mods_usb) |
487 |
do |
do |
|
#cp -a ${CDMODDIR}/usb/${i}.* ${CDINITRD}/modules/usb |
|
488 |
find ${CDMODDIR} -type f -name ${i}* -exec cp -a '{}' ${CDINITRD}/modules/usb ';' |
find ${CDMODDIR} -type f -name ${i}* -exec cp -a '{}' ${CDINITRD}/modules/usb ';' |
489 |
done |
done |
490 |
cat ${CDLAYOUTDIR}/mods_usb > ${CDINITRD}/mods_usb |
cat ${CDLAYOUTDIR}/mods_usb > ${CDINITRD}/mods_usb |
491 |
fi |
fi |
492 |
|
|
493 |
#install insmod |
#install insmod |
|
#[ -L ${CDINITRD}/bin/insmod ] && rm ${CDINITRD}/bin/insmod |
|
494 |
cp -a ${CDCHROOTDIR}/sbin/insmod.static ${CDINITRD}/bin/insmod.static |
cp -a ${CDCHROOTDIR}/sbin/insmod.static ${CDINITRD}/bin/insmod.static |
495 |
cp -a ${CDCHROOTDIR}/sbin/insmod.static.old ${CDINITRD}/bin/insmod.static.old |
cp -a ${CDCHROOTDIR}/sbin/insmod.static.old ${CDINITRD}/bin/insmod.static.old |
496 |
|
|
499 |
cat ${CDCHROOTDIR}/etc/passwd > ${CDINITRD}/etc/passwd |
cat ${CDCHROOTDIR}/etc/passwd > ${CDINITRD}/etc/passwd |
500 |
cat ${CDCHROOTDIR}/etc/group > ${CDINITRD}/etc/group |
cat ${CDCHROOTDIR}/etc/group > ${CDINITRD}/etc/group |
501 |
|
|
|
|
|
502 |
#install static sed |
#install static sed |
503 |
install -d ${CDINITRD}/bin |
install -d ${CDINITRD}/bin |
504 |
tar xjf ${CDLAYOUTDIR}/${SEDFILE} -C ${LIVECDROOT}/tmp |
tar xjf ${CDLAYOUTDIR}/${SEDFILE} -C ${LIVECDROOT}/tmp |
519 |
|
|
520 |
touch ${LIVECDROOT}/.initrdok |
touch ${LIVECDROOT}/.initrdok |
521 |
} |
} |
|
######################################################################################### |
|
522 |
|
|
523 |
|
|
524 |
prepare_iso() { |
prepare_iso() { |
530 |
rm -f ${LIVECDROOT}/${CDISONAME} |
rm -f ${LIVECDROOT}/${CDISONAME} |
531 |
fi |
fi |
532 |
|
|
|
# mecho Preparing Chroot ... |
|
|
# ( mkdir -p ${CDCHROOTDIR}/fake/{needwrite,ramdisk} && \ |
|
|
# touch ${CDCHROOTDIR}/fake/{needwrite,ramdisk}/.keep && \ |
|
|
# for i in dev etc var tmp root home |
|
|
# do |
|
|
# mv ${CDCHROOTDIR}/${i} \ |
|
|
# ${CDCHROOTDIR}/fake/needwrite/ |
|
|
# ln -s fake/needwrite/${i} ${CDCHROOTDIR}/${i} |
|
|
# done ) |
|
|
# evaluate_retval |
|
|
|
|
533 |
#fixes some issues with xfree/xorg xkb |
#fixes some issues with xfree/xorg xkb |
534 |
if [ -L "${CDCHROOTDIR}/etc/X11/xkb" -a -d "/usr/X11R6/lib/X11/xkb" ] |
if [ -L "${CDCHROOTDIR}/etc/X11/xkb" -a -d "/usr/X11R6/lib/X11/xkb" ] |
535 |
then |
then |
561 |
cat ${CDLAYOUTDIR}/issue > \ |
cat ${CDLAYOUTDIR}/issue > \ |
562 |
${CDCHROOTDIR}/etc/issue && \ |
${CDCHROOTDIR}/etc/issue && \ |
563 |
chmod 0644 ${CDCHROOTDIR}/etc/issue && \ |
chmod 0644 ${CDCHROOTDIR}/etc/issue && \ |
|
# mv ${CDCHROOTDIR}/etc/login.defs \ |
|
|
# ${CDCHROOTDIR}/etc/login.defs-orig && |
|
|
# sed \ |
|
|
# -e 's%#MOTD_FILE%MOTD_FILE%' \ |
|
|
# ${CDCHROOTDIR}/etc/login.defs-orig > ${CDCROOTDIR}/etc/login.defs && |
|
|
# rm -f ${CDCHROOTDIR}/etc/login.defs-orig && |
|
|
# cat ${CDLAYOUTDIR}/create_ramdisk > \ |
|
|
# ${CDCHROOTDIR}/etc/rc.d/init.d/create_ramdisk && \ |
|
|
# chmod 0755 ${CDCHROOTDIR}/etc/rc.d/init.d/create_ramdisk && \ |
|
|
# ln -s ../init.d/create_ramdisk \ |
|
|
# ${CDCHROOTDIR}/etc/rc.d/rcsysinit.d/S00create_ramdisk && \ |
|
|
# |
|
|
# cat ${CDLAYOUTDIR}/network_detect > \ |
|
|
# ${CDCHROOTDIR}/etc/rc.d/init.d/network_detect && \ |
|
|
# chmod 0755 ${CDCHROOTDIR}/etc/rc.d/init.d/network_detect && \ |
|
|
# ln -s ../init.d/network_detect \ |
|
|
# ${CDCHROOTDIR}/etc/rc.d/rcsysinit.d/S20network_detect && \ |
|
|
# ln -s ../init.d/hwdetect \ |
|
|
# ${CDCHROOTDIR}/etc/rc.d/rc3.d/S18hwdetect && \ |
|
|
# ln -s ../init.d/hwdetect \ |
|
|
# ${CDCHROOTDIR}/etc/rc.d/rc4.d/S18hwdetect && \ |
|
|
# ln -s ../init.d/hwdetect \ |
|
|
# ${CDCHROOTDIR}/etc/rc.d/rc5.d/S18hwdetect && \ |
|
564 |
echo "HOSTNAME=\"${CDHOSTNAME}\"" > ${CDCHROOTDIR}/etc/hostname ) |
echo "HOSTNAME=\"${CDHOSTNAME}\"" > ${CDCHROOTDIR}/etc/hostname ) |
565 |
evaluate_retval |
evaluate_retval |
566 |
|
|
567 |
mecho Setting up services ... |
mecho Setting up services ... |
568 |
( cat >> ${CDCHROOTDIR}/root/.bashrc << "EOF" |
( cat >> ${CDCHROOTDIR}/root/.bashrc << "EOF" |
569 |
|
|
|
#add createramdisk ## not needed anymore -> mountfslivecd does the job |
|
|
#rc-config add createramdisk |
|
|
|
|
570 |
#change mountfs with mountfslivecd |
#change mountfs with mountfslivecd |
571 |
rc-config del mountfs |
rc-config del mountfs |
572 |
rc-config add mountfslivecd |
rc-config add mountfslivecd |
573 |
|
|
574 |
#add hardware detection |
#add hardware detection |
575 |
rc-config add hwdetect |
rc-config add hwdetect |
576 |
|
|
577 |
#del checkfs |
#del checkfs |
578 |
rc-config del checkfs |
rc-config del checkfs |
579 |
|
|
580 |
#exit |
#exit |
581 |
exit |
exit |
582 |
EOF |
EOF |
583 |
#run it |
#run it |
584 |
enter_chroot |
enter_chroot |
585 |
|
|
586 |
#clean up |
#clean up |
587 |
if [ -e ${CDCHROOTDIR}/root/.bashrc ] |
if [ -e ${CDCHROOTDIR}/root/.bashrc ] |
588 |
then |
then |
593 |
rm ${CDCHROOTDIR}/root/.bash_history |
rm ${CDCHROOTDIR}/root/.bash_history |
594 |
fi ) |
fi ) |
595 |
evaluate_retval |
evaluate_retval |
596 |
|
|
597 |
mecho Cleaning unwanted files ... |
mecho Cleaning unwanted files ... |
598 |
( if [ -e ${CDCHROOTDIR}/etc/mtab ] |
( if [ -e ${CDCHROOTDIR}/etc/mtab ] |
599 |
then |
then |
600 |
rm ${CDCHROOTDIR}/etc/mtab |
rm ${CDCHROOTDIR}/etc/mtab |
601 |
fi && \ |
fi && \ |
602 |
touch ${CDCHROOTDIR}/etc/mtab #&& \ |
touch ${CDCHROOTDIR}/etc/mtab |
|
# rm ${CDCHROOTDIR}/etc/rc.d/rc3.d/S20network && \ |
|
|
# rm ${CDCHROOTDIR}/etc/rc.d/rc0.d/K80network && \ |
|
|
# rm ${CDCHROOTDIR}/etc/rc.d/rc6.d/K80network && \ |
|
|
# rm ${CDCHROOTDIR}/etc/rc.d/rcsysinit.d/S40mountfs && \ |
|
|
# rm ${CDCHROOTDIR}/etc/rc.d/rcsysinit.d/S30checkfs && \ |
|
|
# rm ${CDCHROOTDIR}/bin/pidof && \ |
|
|
# ln -s /sbin/killall5 ${CDCHROOTDIR}/bin/pidof ) |
|
603 |
) |
) |
604 |
evaluate_retval |
evaluate_retval |
605 |
|
|
|
# ########################################### |
|
|
# # bad fix cause mingetty is not installed # |
|
|
# #echo "Please enter 'foobar' as root password:" |
|
|
# cat > ${CDCHROOTDIR}/root/.bashrc << "EOF" |
|
|
# echo "Please enter 'foobar' as root password:" |
|
|
# passwd root |
|
|
# exit |
|
|
#EOF |
|
|
# enter_chroot |
|
|
# rm ${CDCHROOTDIR}/root/.bashrc |
|
|
# cat >> ${CDCHROOTDIR}/etc/issue << "EOF" |
|
|
#Login with user:root password:foobar |
|
|
# |
|
|
#EOF |
|
|
# ########################################### |
|
|
|
|
606 |
# mingetty needs a passwordless user for autologin |
# mingetty needs a passwordless user for autologin |
607 |
# so we unset the password for 'root' |
# so we unset the password for 'root' |
608 |
cat > ${CDCHROOTDIR}/root/.bashrc << "EOF" |
cat > ${CDCHROOTDIR}/root/.bashrc << "EOF" |
644 |
rm -f ${CDISOROOT}/$CDID |
rm -f ${CDISOROOT}/$CDID |
645 |
evaluate_retval |
evaluate_retval |
646 |
fi |
fi |
647 |
|
|
648 |
#for loopback only |
#for loopback only |
649 |
if [ -f ${CDISOROOT}/livecdrootfs ] |
if [ -f ${CDISOROOT}/livecdrootfs ] |
650 |
then |
then |
655 |
evaluate_retval |
evaluate_retval |
656 |
fi |
fi |
657 |
fi |
fi |
658 |
|
|
659 |
#for cloop loopback only |
#for cloop loopback only |
660 |
if [ -f ${CDISOROOT}/livecdrootfs.cloop ] |
if [ -f ${CDISOROOT}/livecdrootfs.cloop ] |
661 |
then |
then |
666 |
evaluate_retval |
evaluate_retval |
667 |
fi |
fi |
668 |
fi |
fi |
669 |
|
|
670 |
#for squashfs loopback only |
#for squashfs loopback only |
671 |
if [ -f ${CDISOROOT}/livecdrootfs.sqsh ] |
if [ -f ${CDISOROOT}/livecdrootfs.sqsh ] |
672 |
then |
then |
684 |
rm -rf ${CDISOROOT}/isolinux |
rm -rf ${CDISOROOT}/isolinux |
685 |
evaluate_retval |
evaluate_retval |
686 |
fi |
fi |
687 |
|
|
688 |
mecho Creating CD ID ... |
mecho Creating CD ID ... |
689 |
( mkdir -p ${CDISOROOT} && \ |
( mkdir -p ${CDISOROOT} && \ |
690 |
touch ${CDISOROOT}/$CDID ) |
touch ${CDISOROOT}/$CDID ) |
698 |
${CDISOROOT}/isolinux && \ |
${CDISOROOT}/isolinux && \ |
699 |
rm -rf ${CDCHROOTDIR}/usr/src/* && \ |
rm -rf ${CDCHROOTDIR}/usr/src/* && \ |
700 |
cp -R ${CDCHROOTDIR}/boot/* ${CDISOROOT}/isolinux && \ |
cp -R ${CDCHROOTDIR}/boot/* ${CDISOROOT}/isolinux && \ |
|
#mv ${CDCHROOTDIR}/boot/* ${CDCHROOTDIR}/isolinux && \ |
|
|
#rm -rf ${CDCHROOTDIR}/boot && \ |
|
|
#ln -s isolinux ${CDCHROOTDIR}/boot && \ |
|
701 |
cp ${CDLAYOUTDIR}/isolinux.cfg ${CDISOROOT}/isolinux && \ |
cp ${CDLAYOUTDIR}/isolinux.cfg ${CDISOROOT}/isolinux && \ |
702 |
cp ${CDLAYOUTDIR}/boot.lss ${CDISOROOT}/isolinux && \ |
cp ${CDLAYOUTDIR}/boot.lss ${CDISOROOT}/isolinux && \ |
703 |
cp ${CDLAYOUTDIR}/boot.msg ${CDISOROOT}/isolinux && \ |
cp ${CDLAYOUTDIR}/boot.msg ${CDISOROOT}/isolinux && \ |
704 |
cp ${CDLAYOUTDIR}/help.msg ${CDISOROOT}/isolinux && \ |
cp ${CDLAYOUTDIR}/help.msg ${CDISOROOT}/isolinux && \ |
705 |
cp ${LIVECDROOT}/initrd.gz ${CDISOROOT}/isolinux && \ |
cp ${LIVECDROOT}/initrd.gz ${CDISOROOT}/isolinux && \ |
706 |
source ${CDISOROOT}/isolinux/kernelversion && \ |
source ${CDISOROOT}/isolinux/kernelversion && \ |
|
#mv ${CDCHROOTDIR}/isolinux/${KRNIMG} \ |
|
|
# ${CDCHROOTDIR}/isolinux/livecdkernel ) |
|
707 |
cp ${CDISOROOT}/isolinux/${KRNIMG} \ |
cp ${CDISOROOT}/isolinux/${KRNIMG} \ |
708 |
${CDISOROOT}/isolinux/${CDKERNELNAME} ) |
${CDISOROOT}/isolinux/${CDKERNELNAME} ) |
709 |
evaluate_retval |
evaluate_retval |
717 |
export CDISOLOOPSIZE="$(expr 20000 + $(du -Ds chroot|cut -d 'c' -f1))" && \ |
export CDISOLOOPSIZE="$(expr 20000 + $(du -Ds chroot|cut -d 'c' -f1))" && \ |
718 |
dd if=/dev/zero of=${LIVECDROOT}/livecdrootfs bs=1024 count=${CDISOLOOPSIZE} &> /dev/null ) |
dd if=/dev/zero of=${LIVECDROOT}/livecdrootfs bs=1024 count=${CDISOLOOPSIZE} &> /dev/null ) |
719 |
evaluate_retval |
evaluate_retval |
720 |
|
|
721 |
mecho Formating rootfs loopfile ... |
mecho Formating rootfs loopfile ... |
722 |
mke2fs -m 0 -i 1024 -F ${LIVECDROOT}/livecdrootfs &> /dev/null |
mke2fs -m 0 -i 1024 -F ${LIVECDROOT}/livecdrootfs &> /dev/null |
723 |
evaluate_retval |
evaluate_retval |
724 |
|
|
725 |
mecho Mounting Image file ... |
mecho Mounting Image file ... |
726 |
( mkdir -p ${CDISOLOOP} && \ |
( mkdir -p ${CDISOLOOP} && \ |
727 |
mount -o loop ${LIVECDROOT}/livecdrootfs ${CDISOLOOP} ) |
mount -o loop ${LIVECDROOT}/livecdrootfs ${CDISOLOOP} ) |
728 |
evaluate_retval |
evaluate_retval |
729 |
|
|
730 |
mecho Copying rootfs to loopfile ... |
mecho Copying rootfs to loopfile ... |
731 |
cp -a ${CDCHROOTDIR}/* ${CDISOLOOP} |
cp -a ${CDCHROOTDIR}/* ${CDISOLOOP} |
732 |
evaluate_retval |
evaluate_retval |
733 |
|
|
734 |
mecho Unmounting Image file ... |
mecho Unmounting Image file ... |
735 |
umount ${CDISOLOOP} |
umount ${CDISOLOOP} |
736 |
evaluate_retval |
evaluate_retval |
737 |
|
|
738 |
mecho Compressing rootfs loopfile ... |
mecho Compressing rootfs loopfile ... |
739 |
( cat ${LIVECDROOT}/livecdrootfs | ${LIVECDROOT}/tmp/${CLOOPDIR}/create_compressed_fs - 131072 > livecdrootfs.cloop ) >/dev/null 2>&1 |
( cat ${LIVECDROOT}/livecdrootfs | ${LIVECDROOT}/tmp/${CLOOPDIR}/create_compressed_fs - 131072 > livecdrootfs.cloop ) >/dev/null 2>&1 |
740 |
evaluate_retval |
evaluate_retval |
741 |
|
|
742 |
mecho Moving rootfs loopfile to isoroot ... |
mecho Moving rootfs loopfile to isoroot ... |
743 |
( rm -f ${LIVECDROOT}/livecdrootfs && \ |
( rm -f ${LIVECDROOT}/livecdrootfs && \ |
744 |
mv ${LIVECDROOT}/livecdrootfs.cloop ${CDISOROOT} ) |
mv ${LIVECDROOT}/livecdrootfs.cloop ${CDISOROOT} ) |
745 |
evaluate_retval |
evaluate_retval |
746 |
;; |
;; |
747 |
|
|
748 |
squashfs) |
squashfs) |
749 |
mecho Generating squashfs compressed rootfs loopfile ... |
mecho Generating squashfs compressed rootfs loopfile ... |
750 |
mksquashfs ${CDCHROOTDIR} ${LIVECDROOT}/livecdrootfs.sqsh >/dev/null 2>&1 |
mksquashfs ${CDCHROOTDIR} ${LIVECDROOT}/livecdrootfs.sqsh >/dev/null 2>&1 |
751 |
evaluate_retval |
evaluate_retval |
752 |
|
|
753 |
mecho Moving rootfs loopfile to isoroot ... |
mecho Moving rootfs loopfile to isoroot ... |
754 |
mv ${LIVECDROOT}/livecdrootfs.sqsh ${CDISOROOT} |
mv ${LIVECDROOT}/livecdrootfs.sqsh ${CDISOROOT} |
755 |
evaluate_retval |
evaluate_retval |
756 |
;; |
;; |
757 |
esac |
esac |
758 |
fi |
fi |
759 |
|
|
760 |
mecho Generating ISO Image ... |
mecho Generating ISO Image ... |
761 |
( cd ${CDISOROOT} && \ |
( cd ${CDISOROOT} && \ |
762 |
mkisofs -R -l -L -D -o ${LIVECDROOT}/${CDISONAME} \ |
mkisofs -R -l -L -D -o ${LIVECDROOT}/${CDISONAME} \ |
991 |
echo -e " makeall - builds stright ahead the livecd\n" |
echo -e " makeall - builds stright ahead the livecd\n" |
992 |
;; |
;; |
993 |
esac |
esac |
|
|
|