summaryrefslogtreecommitdiffstats
path: root/scripts/mk-images.alpha
blob: fb2ad60ae6cebd8429c39f31f0c9893d3fca2167 (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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#
# mk-images.alpha
#
# Copyright (C) 2007  Red Hat, Inc.  All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

INITRDMODS="tgafb crc32 $INITRDMODS"

###FSMODS="msdos vfat ext3 reiserfs jfs xfs"
###IDEMODS="cdrom ide-cd"
###SCSIMODS="cdrom scsi_mod sd_mod sg sr_mod st"
###USBMODS="ohci-hcd uhci-hcd hid usb-storage sd_mod sr_mod"
###LATEUSBMODS="mousedev usb-storage"
###SECSTAGE="md raid0 raid1 raid5 dm-mod srm_env $FSMODS $IDEMODS $SCSIMODS $LATEUSBMODS"
NETMODULES="e100 tulip 8139too tulip 3c509 3c59x dl2k eepro epic100 ewrk3 hamachi natsemi ne2k-pci ns83820 starfire yellowfin de4x5 depca acenic tg3"

SCSIMODULES="$SCSIMODS qlogicisp DAC960 cpqfc BusLogic 3w-xxxx dmx3191d dpt_i2o megaraid ncr53c8xx sym53c8xx qlogicfc qla2x00 qla1280 cciss cpqarray aic7xxx aha1740 megaraid"

###ISOMODULES="ehci-hcd ieee1394 ohci1394 sbp2"

prepareBootImage() {
	echo "ALPHA: prepareBootImage() is called"
        dd if=/dev/zero of=$MBD_TMPIMAGE bs=1k count=$BOOTDISKSIZE 2>/dev/null
        echo y | /sbin/mke2fs -b 1024 -r 0 -O none $MBD_TMPIMAGE  > /dev/null 2>/dev/null
	LODEV=`findloopdevice $MBD_TMPIMAGE`
	e2writeboot $LODEV $BOOTDISKDIR/bootlx
	mount $LODEV -t ext2 $MBD_BOOTTREE
        mkdir -p $MBD_BOOTTREE/etc
	cat > $MBD_BOOTTREE/etc/aboot.conf <<EOF
#
# Fedora Linux aboot configuration options:
#
#   0 - Boot the Fedora Linux installer using a 2.6 kernel
#   1 - Boot the Fedora Linux installer in non graphical mode
#   2 - Boot the Fedora Linux installer in text only mode on ttyS0
#       for installation control via the serial port
#   3 - Boot in rescue mode
#
0:vmlinux.gz load_ramdisk=1 prompt_ramdisk=1 console=tty0          root=/dev/fd0
1:vmlinux.gz load_ramdisk=1 prompt_ramdisk=1 console=tty0  text    root=/dev/fd0
2:vmlinux.gz load_ramdisk=1 prompt_ramdisk=1 console=ttyS0 text    root=/dev/fd0
3:vmlinux.gz load_ramdisk=1 prompt_ramdisk=1 console=tty0  rescue  root=/dev/fd0

EOF
        cat > $MBD_BOOTTREE/etc/milo.conf <<EOF
image=/vmlinux.gz
        label=linux
        root=/dev/fd0
        append="load_ramdisk=1 prompt_ramdisk=1"
EOF
	zcat $KERNELROOT/boot/vmlinuz-* | gzip -9 > $MBD_BOOTTREE/vmlinux.gz
	umount $LODEV
	losetup -d $LODEV
	mount -o loop -t ext2 $MBD_TMPIMAGE $MBD_BOOTTREE
}

makeBootImages() {
    echo "Building boot images for kernel $kernelvers"

    mkdir -p $TOPDESTPATH/boot
    cp $BOOTDISKDIR/bootlx $TOPDESTPATH/boot

    mkdir -p $TOPDESTPATH/etc
    cat > $TOPDESTPATH/etc/aboot.conf <<EOF
#
# Fedora Linux aboot configuration options:
#
#   0 - Boot the Fedora Linux installer using a 2.6 kernel
#   1 - Boot the Fedora Linux installer with kernel messages sent to ttyS0
#   2 - Boot the Fedora Linux installer in text only mode
#   3 - Boot the Fedora Linux installer in text only rescue mode
#
0:/kernels/vmlinux.gz initrd=/images/initrd.img
1:/kernels/vmlinux.gz initrd=/images/initrd.img console=ttyS0
2:/kernels/vmlinux.gz initrd=/images/initrd.img text
3:/kernels/vmlinux.gz initrd=/images/initrd.img rescue

EOF

    mkdir -p $TOPDESTPATH/kernels
    cp $KERNELROOT/boot/vmlinuz-* $TOPDESTPATH/kernels/vmlinux.gz

    makeinitrd --initrdto $TOPDESTPATH/images/ramdisk.img \
	--initrdsize 8192 \
	--loaderbin loader \
	--modules "$NETMODULES $SCSIMODULES"

    echo "List of init modules: $INITRDMODS"

    makeinitrd --initrdto $TOPDESTPATH/images/initrd.img \
	--initrdsize 8192 \
	--loaderbin loader \
	--modules "$INITRDMODS"

#    makebootdisk --bootdisksize 4096 --kernelto $TOPDESTPATH/kernels/vmlinux.gz \
#	--imagename generic.img


    if [ -f $KERNELPATH/kernel-jensen-*.rpm ]; then
	KJ_PKG=$KERNELPATH/kernel-jensen-*.rpm
	KJ_DIR=/tmp/kernelj.dir.$$
	mkdir -p $KJ_DIR
	rpm2cpio $KJ_PKG | (cd $KJ_DIR; cpio --quiet -iumd ./boot/vmlinuz-*)
	cp $KJ_DIR/boot/vmlinuz-* $TOPDESTPATH/kernels/vmlinuz.j
	rm -rf $KJ_DIR
    fi

#    makedriverdisk --padsize 1440 "Supplemental Block Device Drivers" "drvblock" "$SCSIMODULES $EXTRASCSI +scsi"
#    makedriverdisk --padsize 1440 "Supplemental Network Device Drivers" "drvnet" "$NETMODULES $EXTRANET  +net"
}

#makeSecondStage() {
#     makeinstimage "netstg" "$SECSTAGE $SCSIMODULES $IDEMODS =scsi"
#     makeinstimage "hdstg" "$SECSTAGE $NETMODULES $IDEMODS =net"
#     makemainmodules "$SECSTAGE $NETMODULES $SCSIMODULES $IDEMODS =scsi =net"
#     makemainimage "install" "cramfs"
#}