diff options
author | xtraeme <xtraeme@pkgsrc.org> | 2005-08-11 20:48:55 +0000 |
---|---|---|
committer | xtraeme <xtraeme@pkgsrc.org> | 2005-08-11 20:48:55 +0000 |
commit | 680c9a928cf5edeec49fb696c529418ce05be050 (patch) | |
tree | 16a701112d56146e12e2a6357df05b4308190c0a /sysutils | |
parent | bf27b0ecdf773eac29fa65f0dad5b863167507b3 (diff) | |
download | pkgsrc-680c9a928cf5edeec49fb696c529418ce05be050.tar.gz |
Update to 0.13.0
Changes:
* New option added: VND_COMPRESSION. To enable vnd(4)
compression on /usr and /var/db/pkg (at the moment).
* Fixed a problem with -k and USE_GNU_GRUB=yes,
building a kernel with -k overwrites the "menu.lst"
file.
* Only copy /etc/X11/XF86Config to $ISODIR when there
is not a previous file, fixes PR pkg/30889.
* Renamed the rc.d script mfs_rcd to livecd, because
it's not only mfs anymore.
Finally we can have kde-3.4.2 with NetBSD in a live CD-ROM:
416M netbsd-3.99.7_kde-3.4.2.iso
Enjoy.
Diffstat (limited to 'sysutils')
-rw-r--r-- | sysutils/mklivecd/Makefile | 9 | ||||
-rw-r--r-- | sysutils/mklivecd/PLIST | 4 | ||||
-rw-r--r-- | sysutils/mklivecd/files/livecd (renamed from sysutils/mklivecd/files/mfs_rcd) | 40 | ||||
-rw-r--r-- | sysutils/mklivecd/files/mklivecd.8 | 21 | ||||
-rwxr-xr-x | sysutils/mklivecd/files/mklivecd.sh | 123 |
5 files changed, 142 insertions, 55 deletions
diff --git a/sysutils/mklivecd/Makefile b/sysutils/mklivecd/Makefile index aa60bc21541..41fab1939e8 100644 --- a/sysutils/mklivecd/Makefile +++ b/sysutils/mklivecd/Makefile @@ -1,7 +1,6 @@ -# $NetBSD: Makefile,v 1.22 2005/08/02 12:32:23 xtraeme Exp $ +# $NetBSD: Makefile,v 1.23 2005/08/11 20:48:55 xtraeme Exp $ -DISTNAME= mklivecd-0.12.0 -PKGREVISION= 1 +DISTNAME= mklivecd-0.13.0 CATEGORIES= sysutils MASTER_SITES= # empty DISTFILES= # empty @@ -28,7 +27,7 @@ INSTALLATION_DIRS= man/man8 sbin share/mklivecd FILES= KERN-LIVECD personal_config do-install: -.for f in mfs_rcd mklivecd.sh mklivecd.8 +.for f in livecd mklivecd.sh mklivecd.8 @${SED} -e "s,@PREFIX@,${PREFIX},g" \ -e "s,@LOCALBASE@,${LOCALBASE},g" \ -e "s,@TAR@,${TAR},g" \ @@ -38,7 +37,7 @@ do-install: ${INSTALL_DATA_DIR} ${PREFIX}/share/mklivecd ${INSTALL_SCRIPT} ${WRKDIR}/mklivecd.sh ${PREFIX}/sbin/mklivecd ${INSTALL_MAN} ${WRKDIR}/mklivecd.8 ${PREFIX}/man/man8 - ${INSTALL_DATA} ${WRKDIR}/mfs_rcd ${PREFIX}/share/mklivecd + ${INSTALL_DATA} ${WRKDIR}/livecd ${PREFIX}/share/mklivecd .for F in ${FILES} ${INSTALL_DATA} ${FILESDIR}/${F} ${PREFIX}/share/mklivecd .endfor diff --git a/sysutils/mklivecd/PLIST b/sysutils/mklivecd/PLIST index 5015f412e8d..947ce6f8d66 100644 --- a/sysutils/mklivecd/PLIST +++ b/sysutils/mklivecd/PLIST @@ -1,7 +1,7 @@ -@comment $NetBSD: PLIST,v 1.2 2004/04/26 17:28:58 xtraeme Exp $ +@comment $NetBSD: PLIST,v 1.3 2005/08/11 20:48:55 xtraeme Exp $ man/man8/mklivecd.8 sbin/mklivecd share/mklivecd/KERN-LIVECD -share/mklivecd/mfs_rcd +share/mklivecd/livecd share/mklivecd/personal_config @dirrm share/mklivecd diff --git a/sysutils/mklivecd/files/mfs_rcd b/sysutils/mklivecd/files/livecd index a4e469168f6..076157bc822 100644 --- a/sysutils/mklivecd/files/mfs_rcd +++ b/sysutils/mklivecd/files/livecd @@ -1,31 +1,51 @@ -# $NetBSD: mfs_rcd,v 1.5 2005/07/29 12:13:01 xtraeme Exp $ +# $NetBSD: livecd,v 1.1 2005/08/11 20:48:55 xtraeme Exp $ # # Mount mfs directories and unpack the required files # before anything. -# PROVIDE: LiveCD +# PROVIDE: mklivecd # BEFORE: disks -. /etc/rc.subr +$_rc_subr_loaded . /etc/rc.subr -name="mfsrc" +name="livecd" rcvar=$name -start_cmd="mfsrc_start" -stop_cmd="mfsrc_stop" +start_cmd="livecd_start" +stop_cmd="livecd_stop" -mfsrc_start() +livecd_start() { + if [ -f /stand/usr.zfs ]; then + echo -n "=> Mounting compressed images: " + /rescue/vnconfig -z vnd0 /stand/usr.zfs + /rescue/mount -r /dev/vnd0a /usr + if [ ! -f /stand/var_db_pkg.zfs ]; then + echo "/usr." + else + /rescue/vnconfig -z vnd1 /stand/var_db_pkg.zfs + /rescue/mount -r /dev/vnd1a /var/db/pkg + echo "/usr, /var/db/pkg." + fi + fi + echo -n "=> Mounting Memory based filesystems: " + mount_mfs @MNT_DEV_ARGS@ swap /dev echo -n "/dev, " + mount_mfs @MNT_ETC_ARGS@ swap /etc echo -n "/etc, " + mount_mfs @MNT_VAR_ARGS@ swap /var - echo -n "/root, " + echo -n "/var, " + mount_mfs @MNT_ROOT_ARGS@ swap /root - echo "/tmp." + echo -n "/root, " + mount_mfs @MNT_TMP_ARGS@ swap /tmp + echo "/tmp" + @HOME@ @HOMETAR@ @USRPKGETC@ @@ -42,7 +62,7 @@ mfsrc_start() done } -mfsrc_stop() +livecd_stop() { echo "Please don't do that :-)" } diff --git a/sysutils/mklivecd/files/mklivecd.8 b/sysutils/mklivecd/files/mklivecd.8 index 165ad7e0b1c..82eb6fc4cdd 100644 --- a/sysutils/mklivecd/files/mklivecd.8 +++ b/sysutils/mklivecd/files/mklivecd.8 @@ -1,4 +1,4 @@ -.\" $NetBSD: mklivecd.8,v 1.11 2005/07/29 12:13:01 xtraeme Exp $ +.\" $NetBSD: mklivecd.8,v 1.12 2005/08/11 20:48:55 xtraeme Exp $ .\" .\" mklivecd - Make your own NetBSD/i386 Live CD-ROM/DVD-ROM .\" @@ -28,7 +28,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd July 25, 2005 +.Dd August 11, 2005 .Dt MKLIVECD 8 .Os .Sh NAME @@ -274,11 +274,26 @@ When it's disabled the CDBootloader will be used. Defaults to .Sy yes . +.It VND_COMPRESSION +Enable this to mount +.Pa /usr , +and +.Pa /var/db/pkg +via +.Xr vnconfig 8 +with compression enabled. +Note you'll need to have +.Sy options VND_COMPRESSION +in your kernel config, at the moment +this option is only available on +.Nx +>=4.0. Defaults to +.Sy no . .It MNT_{MOUNT_POINT}_ARGS This specifies the arguments passed to the .Xr mount 8 command used in the -.Pa mfs_rcd +.Pa livecd script, when the .Nx Live CD is booted. diff --git a/sysutils/mklivecd/files/mklivecd.sh b/sysutils/mklivecd/files/mklivecd.sh index 3bc311180e7..afc2de496b4 100755 --- a/sysutils/mklivecd/files/mklivecd.sh +++ b/sysutils/mklivecd/files/mklivecd.sh @@ -1,6 +1,6 @@ #!/bin/sh # -# $NetBSD: mklivecd.sh,v 1.21 2005/07/29 12:13:01 xtraeme Exp $ +# $NetBSD: mklivecd.sh,v 1.22 2005/08/11 20:48:55 xtraeme Exp $ # # Copyright (c) 2004, 2005 The NetBSD Foundation, Inc. # All rights reserved. @@ -62,6 +62,7 @@ : ${GRUB_FILES:=stage1 stage2 stage2_eltorito iso9660_stage1_5 \ xfs_stage1_5 ufs2_stage1_5 reiserfs_stage1_5 \ jfs_stage1_5 ffs_stage1_5 fat_stage1_5 e2fs_stage1_5} +: ${GRUB_BOOT_ARGS:= -boot-load-size 30 -boot-info-table} # # Common vars for cdboot/grub. # @@ -128,8 +129,9 @@ do_conf() KERNEL_VARS="MULTIPLE_KERNELS BOOTKERN KERNEL_NAME" MISC_VARS="ENABLE_X11 MKISOFS_ARGS CDRECORD_ARGS BLANK_BEFORE_BURN \ - CDROM_DEVICE PERSONAL_CONFIG IMAGE_NAME PKG_SYSCONFDIR\ - REMOVE_DIRS USE_GNU_GRUB GRUB_FILES_DIR HOSTNAME" + CDROM_DEVICE PERSONAL_CONFIG IMAGE_NAME PKG_SYSCONFDIR \ + REMOVE_DIRS USE_GNU_GRUB GRUB_FILES_DIR HOSTNAME \ + VND_COMPRESSION" MNT_VARS="MNT_ETC_ARGS MNT_VAR_ARGS MNT_ROOT_ARGS \ MNT_TMP_ARGS MNT_HOME_ARGS MNT_PKG_SYSCONFDIR_ARGS \ @@ -167,6 +169,7 @@ do_conf() : ${REMOVE_DIRS:=altroot usr/share/info} : ${USE_GNU_GRUB:=yes} : ${GRUB_FILES_DIR:=@LOCALBASE@/lib/grub/@MACHINE_ARCH@-} + : ${VND_COMPRESSION:=no} # # Mount arguments # @@ -293,9 +296,16 @@ copy_bootfiles() do_menu_lst() { - [ -n "$verbose_mode" ] && \ - showmsg_n "Creating $ISODIR/$GRUB_BOOTDIR/menu.lst..." - if [ ! -f $ISODIR/$GRUB_BOOTDIR/menu.lst ]; then + if [ -f $ISODIR/$GRUB_BOOTDIR/menu.lst ]; then + showmsg_n "Updating menu.lst..." + ( \ + echo "title NetBSD/$KERNEL_NAME kernel"; \ + echo "kernel --type=netbsd /$GRUB_BOOTDIR/$BOOTKERN.gz"; \ + echo; \ + ) >> $ISODIR/$GRUB_BOOTDIR/menu.lst + else + [ -n "$verbose_mode" ] && \ + showmsg_n "Creating $ISODIR/$GRUB_BOOTDIR/menu.lst..." cat > $ISODIR/$GRUB_BOOTDIR/menu.lst << _EOF_ # Default GRUB menu file created by ${progname}. # Date: $(date). @@ -524,7 +534,7 @@ do_cdlive() fi fi # ENABLE_X11 - cp $SHAREDIR/mfs_rcd $ISODIR/etc/rc.d + cp $SHAREDIR/livecd $ISODIR/etc/rc.d # /etc/rc.conf showmsg_n "Installing configuration files..." @@ -534,7 +544,7 @@ do_cdlive() touch $ISODIR/etc/fstab ( \ - echo "mfsrc=yes"; \ + echo "livecd=yes"; \ echo "dhclient=yes dhclient_flags=-q"; \ echo "wscons=yes"; \ echo "hostname=$HOSTNAME"; \ @@ -551,7 +561,7 @@ do_cdlive() cat > $ISODIR/etc/rc.d/root <<_EOF_ #!/bin/sh # -# \$NetBSD: mklivecd.sh,v 1.21 2005/07/29 12:13:01 xtraeme Exp $ +# \$NetBSD: mklivecd.sh,v 1.22 2005/08/11 20:48:55 xtraeme Exp $ # # PROVIDE: root @@ -608,9 +618,11 @@ _EOF_ echo $count > $pkgsrc_mntstat echo "=> pkgsrc directory already mounted." else - echo "=> pkgsrc directory ready." - echo "1" > $pkgsrc_mntstat - mount_null $PKGSRCDIR $ISODIR/usr/pkgsrc + mount_null $PKGSRCDIR $ISODIR/usr/pkgsrc + if [ "$?" -eq 0 ]; then + echo "=> pkgsrc directory ready." + echo "1" > $pkgsrc_mntstat + fi fi else showmsg "==> CANNOT FIND $PKGSRCDIR" @@ -623,9 +635,11 @@ _EOF_ echo $count > $pkgsrcdist_mntstat echo "=> distfiles directory already mounted." else - echo "=> distfiles directory ready." - echo "1" > $pkgsrcdist_mntstat - mount_null $PKGSRCDISTDIR $ISODIR/usr/pkgsrc/distfiles + mount_null $PKGSRCDISTDIR $ISODIR/usr/pkgsrc/distfiles + if [ "$?" -eq 0 ]; then + echo "=> distfiles directory ready." + echo "1" > $pkgsrcdist_mntstat + fi fi else echo "==> CANNOT FIND $PKGSRCDISTDIR" @@ -641,7 +655,7 @@ _EOF_ fi cd $ISODIR - cp -f $SHAREDIR/mfs_rcd $ISODIR/etc/rc.d + cp -f $SHAREDIR/livecd $ISODIR/etc/rc.d SUBST_H="mount_mfs $MNT_HOME_ARGS swap /home" SUBST_HT="@TAR@ xfzp /stand/mfs_home.tgz -C /" @@ -653,26 +667,32 @@ _EOF_ -e "s|@MNT_VAR_ARGS@|$MNT_VAR_ARGS|g" \ -e "s|@MNT_ROOT_ARGS@|$MNT_ROOT_ARGS|g" \ -e "s|@MNT_TMP_ARGS@|$MNT_TMP_ARGS|g" \ - $ISODIR/etc/rc.d/mfs_rcd > $ISODIR/etc/rc.d/mfs_rcd.in - mv $ISODIR/etc/rc.d/mfs_rcd.in $ISODIR/etc/rc.d/mfs_rcd + $ISODIR/etc/rc.d/livecd > $ISODIR/etc/rc.d/livecd.in + mv $ISODIR/etc/rc.d/livecd.in $ISODIR/etc/rc.d/livecd - for U in root var dev etc home + for U in root dev etc home do if [ -d $ISODIR/$U ]; then - showmsg_n "Creating /stand/mfs_$U.tgz..." + showmsg_n "Creating /stand/mfs_$U.tgz... " @TAR@ cfzp $ISODIR/stand/mfs_$U.tgz $U >/dev/null 2>&1 showmsgstring fi done + + if [ "$VND_COMPRESSION" = "no" ]; then + showmsg_n "Creating /stand/mfs_var.tgz... " + @TAR@ cfzp $ISODIR/stand/mfs_var.tgz var >/dev/null 2>&1 + showmsgstring + fi if [ -d $ISODIR/home ]; then sed -e "s|@HOME@|$SUBST_H|" -e "s|@HOMETAR@|$SUBST_HT|" \ - $ISODIR/etc/rc.d/mfs_rcd > $ISODIR/etc/rc.d/mfs_rcd.f - mv $ISODIR/etc/rc.d/mfs_rcd.f $ISODIR/etc/rc.d/mfs_rcd + $ISODIR/etc/rc.d/livecd > $ISODIR/etc/rc.d/livecd.f + mv $ISODIR/etc/rc.d/livecd.f $ISODIR/etc/rc.d/livecd else sed -e "s|@HOME@||" -e "s|@HOMETAR@||" \ - $ISODIR/etc/rc.d/mfs_rcd > $ISODIR/etc/rc.d/mfs_rcd.f - mv $ISODIR/etc/rc.d/mfs_rcd.f $ISODIR/etc/rc.d/mfs_rcd + $ISODIR/etc/rc.d/livecd > $ISODIR/etc/rc.d/livecd.f + mv $ISODIR/etc/rc.d/livecd.f $ISODIR/etc/rc.d/livecd fi if [ -d $ISODIR/$PKG_SYSCONFDIR ]; then @@ -681,19 +701,20 @@ _EOF_ $PKG_SYSCONFDIR >/dev/null 2>&1 showmsgstring sed -e "s|@USRPKGETC@|$SUBST_S|" -e "s|@USRPKGETCTAR@|$SUBST_ST|" \ - $ISODIR/etc/rc.d/mfs_rcd > $ISODIR/etc/rc.d/mfs_rcd.f - mv $ISODIR/etc/rc.d/mfs_rcd.f $ISODIR/etc/rc.d/mfs_rcd + $ISODIR/etc/rc.d/livecd > $ISODIR/etc/rc.d/livecd.f + mv $ISODIR/etc/rc.d/livecd.f $ISODIR/etc/rc.d/livecd else sed -e "s|@USRPKGETC@||" -e "s|@USRPKGETCTAR@||" \ - $ISODIR/etc/rc.d/mfs_rcd > $ISODIR/etc/rc.d/mfs_rcd.f - mv $ISODIR/etc/rc.d/mfs_rcd.f $ISODIR/etc/rc.d/mfs_rcd - fi - - if [ "${ENABLE_X11}" = "yes" ]; then - [ -f /etc/X11/XF86Config ] && \ - cp /etc/X11/XF86Config $ISODIR/etc/X11 + $ISODIR/etc/rc.d/livecd > $ISODIR/etc/rc.d/livecd.f + mv $ISODIR/etc/rc.d/livecd.f $ISODIR/etc/rc.d/livecd fi + if [ "${ENABLE_X11}" = "yes" -a ! -f $ISODIR/etc/X11/XF86Config ]; then + if [ -f /etc/X11/XF86Config ]; then + cp /etc/X11/XF86Config $ISODIR/etc/X11 + fi + fi + if [ "${PERSONAL_CONFIG}" = "yes" ]; then if [ -f $config_dir/$pers_conffile ]; then echo @@ -713,7 +734,7 @@ _EOF_ fi fi - # Make sure mfs_rcd has the right permissions, because + # Make sure livecd has the right permissions, because # it could be critical!. chmod -R a+rx $ISODIR/etc/rc.d @@ -778,6 +799,38 @@ _EOF_ done ;; iso) + if [ "$VND_COMPRESSION" = "yes" ]; then + cd $ISODIR + + if [ ! -f $ISODIR/stand/usr.zfs ]; then + showmsg_n "Creating image of /usr..." + makefs -t ffs stand/usr.fs usr > /dev/null 2>&1 + showmsgstring + showmsg_n "Compressing image of /usr..." + vndcompress stand/usr.fs stand/usr.zfs > /dev/null 2>&1 + showmsgstring + rm stand/usr.fs + find $ISODIR/usr -type f | xargs rm -v + fi + if [ -d $ISODIR/var/db/pkg ]; then + if [ ! -f stand/var_db_pkg.zfs ]; then + showmsg_n "Creating image of /var/db/pkg... " + makefs -t ffs -M 1m $ISODIR/stand/var_db_pkg.fs \ + var/db/pkg > /dev/null 2>&1 + showmsgstring + showmsg_n "Compressing image of /var/db/pkg... " + vndcompress $ISODIR/stand/var_db_pkg.fs \ + $ISODIR/stand/var_db_pkg.zfs > /dev/null 2>&1 + showmsgstring + rm -f $ISODIR/stand/var_db_pkg.fs + rm -rf $ISODIR/var/db/pkg/* + @TAR@ cfzp stand/mfs_var.tgz var + fi + else + @TAR@ cfzp stand/mfs_var.tgz var + fi + fi + _do_real_iso_image() { if [ -f "$BASEDIR/$IMAGE_NAME.iso" ]; then @@ -804,7 +857,7 @@ _EOF_ showmsg_n "Creating ISO CD9660 image..." if [ "$USE_GNU_GRUB" = "yes" ]; then - $MKISOFS $MKISOFS_FIXED_ARGS $MKISOFS_ARGS \ + $MKISOFS $MKISOFS_FIXED_ARGS $GRUB_BOOT_ARGS $MKISOFS_ARGS \ -b $GRUB_BOOTDIR/$GRUB_BOOTIMAGE \ -o $BASEDIR/$IMAGE_NAME.iso $ISODIR > /dev/null 2>&1 showmsgstring |