summaryrefslogtreecommitdiffstats
path: root/tools/make_mdkinst_stage2
blob: 79dc08cda4a5e44b579563e1d04e63bd25fe1187 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/bin/sh

[ $# != 2 ] && { 
    echo "usage: make_mdkinst_stage2 <live dir> <output image>" ; 
    echo "  example: misc/make_mdkinst_stage2 Mandrake/mdkinst Mandrake/base/mdkinst_stage2"
    exit
}

TMPDIR=${TMPDIR=/tmp}
STAGE2TMP=$TMPDIR/stage2_tmp
MKE2FS="/sbin/mke2fs -q -m 0 -F -s 1"
MNTPOINT=$TMPDIR/stage2_img
REP4PMS=/usr/bin/perl-install
DEST=$1
STAGE2=$2

testandset() { [ -x $1/packdrake ] && BUILD_ARCHIVE=$1/packdrake; }
testandset `pwd`/misc
testandset `pwd`/.
testandset /$DEST/../../misc
testandset `pwd`/$DEST/../../misc
[ -z "$BUILD_ARCHIVE" ] && { echo "can't find packdrake"; exit 1; }

if [ $EUID != "0" ]; then
    SUDO="sudo"
    PATH="/sbin:/usr/sbin:$PATH"
fi

$SUDO rm -rf $STAGE2TMP
install -d $STAGE2TMP
$SUDO cp -a $DEST/* $STAGE2TMP

#mkdir -p $MNTPOINT 2>/dev/null
#for i in $MNTPOINT $STAGE2; do $SUDO umount $i 2>/dev/null ; done
#dd if=/dev/zero of=$STAGE2 bs=1k count=24000
#$MKE2FS -N 1000 $STAGE2
#$SUDO mount -t ext2 $STAGE2 $MNTPOINT -o loop
# hack to reduce the STAGE2 image (do not edit without modifying in DrakX)
# be sure to keep the biggest server
rm -f $STAGE2TMP/usr/X11R6/bin/XF86_{VGA16,3DLabs,TGA,S3}
rm -f `ls --sort=size $STAGE2TMP/lib/modules.cz-* | perl -ne 'print if $i++'`
rm -f $STAGE2TMP/usr/bin/{pv*,vg*,lv*} $STAGE2TMP/lib/liblvm*
rm -f $STAGE2TMP/usr/bin/{resize_reiserfs,fsck.jfs}
rm -f $STAGE2TMP/usr/X11R6/lib/X11/fonts/{taipei16,gb16fs,k14,baekmuk_gulim_h_14,cu12}.pcf.gz
rm -rf $STAGE2TMP/usr/share/locale_special

(   # only keeping UTF-8
    cd $STAGE2TMP/usr/share/locale; 
    mv UTF-8 ..
    rm -rf *
    mv ../UTF-8 .
)
for i in /usr/share/keymaps /usr/share/xmodmap; do
    name=`basename $i`
    (cd $STAGE2TMP/$i ; ls * | $BUILD_ARCHIVE -b9s ../$name.cz2 400000)
    rm -rf $STAGE2TMP/$i
done


	
mkdir -p $MNTPOINT 2>/dev/null
for i in $MNTPOINT $STAGE2; do $SUDO umount $i 2>/dev/null ; done
dd if=/dev/zero of=$STAGE2 bs=1k count=$[ `du -s $STAGE2TMP | cut -f1` + 1024 + 200 ]
$MKE2FS -N 1000 $STAGE2
$SUDO mount -t ext2 $STAGE2 $MNTPOINT -o loop

rmdir $MNTPOINT/lost+found
$SUDO cp -a $STAGE2TMP/* $MNTPOINT
$SUDO rm -rf $STAGE2TMP

df $MNTPOINT
$SUDO umount $STAGE2
rmdir $MNTPOINT

echo bzipping $STAGE2

bzip2 -f -9 $STAGE2