summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--anaconda.spec.in2
-rw-r--r--balkan/bsdlabel.c11
-rw-r--r--isys/Makefile3
-rw-r--r--isys/isys.c8
-rw-r--r--loader/Makefile6
-rw-r--r--loader/loader.c4
-rw-r--r--milo.py76
-rw-r--r--po/ja.po2
-rw-r--r--raid.py2
-rwxr-xr-xscripts/mk-images3
-rw-r--r--scripts/mk-images.alpha45
-rwxr-xr-xscripts/upd-instroot5
12 files changed, 122 insertions, 45 deletions
diff --git a/anaconda.spec.in b/anaconda.spec.in
index ac3a343a1..d66d5fb07 100644
--- a/anaconda.spec.in
+++ b/anaconda.spec.in
@@ -9,7 +9,7 @@ Obsoletes: anaconda-reconfig
BuildPreReq: pump-devel, kudzu-devel, pciutils-devel, bzip2-devel, e2fsprogs-devel, python-devel db3-devel
Prereq: chkconfig /etc/init.d
Requires: rpm-python
-ExcludeArch: sparc
+Excludearch: ia64
BuildRoot: /var/tmp/anaconda-%{PACKAGE_VERSION}
diff --git a/balkan/bsdlabel.c b/balkan/bsdlabel.c
index 505c44c3e..e756e5596 100644
--- a/balkan/bsdlabel.c
+++ b/balkan/bsdlabel.c
@@ -104,9 +104,14 @@ int bsdlReadTable(int fd, struct partitionTable * table) {
table->parts[i].size = label.d_partitions[i].p_size;
switch (label.d_partitions[i].p_fstype) {
- case 1: s = BALKAN_PART_SWAP; break;
- case 8: s = BALKAN_PART_EXT2; break;
- default: s = BALKAN_PART_OTHER; break;
+ case 1:
+ s = BALKAN_PART_SWAP; break;
+ case 8:
+ s = BALKAN_PART_EXT2; break;
+ case 0xfd:
+ s = BALKAN_PART_RAID; break;
+ default:
+ s = BALKAN_PART_OTHER; break;
}
table->parts[i].type = s;
}
diff --git a/isys/Makefile b/isys/Makefile
index 16ded0a16..285f9b538 100644
--- a/isys/Makefile
+++ b/isys/Makefile
@@ -2,7 +2,8 @@ include ../Makefile.inc
ARCH := $(patsubst i%86,i386,$(shell uname -m))
ARCH := $(patsubst sparc%,sparc,$(ARCH))
-CFLAGS = -I/usr/include/python1.5 -I.. -Wall -O2 -g -fPIC -DHAVE_NFS
+CFLAGS = -I/usr/include/python1.5 -I.. -Wall -O2 -g -fPIC -DHAVE_NFS -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1
+
OBJECTS = nfsmount.o dns.o nfsmount_clnt.o nfsmount_xdr.o imount.o \
smp.o moduleinfo.o devnodes.o cpio.o probe.o uncpio.o \
lang.o isofs.o
diff --git a/isys/isys.c b/isys/isys.c
index dc2491834..92cc538df 100644
--- a/isys/isys.c
+++ b/isys/isys.c
@@ -27,6 +27,7 @@
#include <scsi/scsi.h>
#include <scsi/scsi_ioctl.h>
#include <sys/vt.h>
+#include <sys/types.h>
#include "Python.h"
@@ -42,8 +43,6 @@
#define CDROMEJECT 0x5309
#endif
-long long llseek(int fd, long long offset, int whence);
-
/* FIXME: this is such a hack -- moduleInfoList ought to be a proper object */
moduleInfoSet modInfoList = NULL;
@@ -690,7 +689,8 @@ static PyObject * doCheckUFS (PyObject * s, PyObject * args) {
return NULL;
}
- return Py_BuildValue("i", (llseek(fd, (8192 + 0x55c), SEEK_SET) >= 0 &&
+ return Py_BuildValue("i", (lseek64(fd, (off64_t) (8192 + 0x55c),
+ SEEK_SET) >= 0 &&
read(fd, &magic, 4) == 4 &&
(magic == UFS_SUPER_MAGIC ||
swab32(magic) == UFS_SUPER_MAGIC)));
@@ -1053,7 +1053,7 @@ static PyObject * doGetRaidSuperblock(PyObject * s, PyObject * args) {
/* put the size in 1k blocks */
size >>= 1;
- if (llseek(fd, ((long long) 1024) * MD_NEW_SIZE_BLOCKS(size), SEEK_SET) < 0) {
+ if (lseek64(fd, ((off64_t) 1024) * (off64_t) MD_NEW_SIZE_BLOCKS(size), SEEK_SET) < 0) {
PyErr_SetFromErrno(PyExc_SystemError);
return NULL;
}
diff --git a/loader/Makefile b/loader/Makefile
index 09b071d03..35c57abf6 100644
--- a/loader/Makefile
+++ b/loader/Makefile
@@ -22,7 +22,8 @@ BINS = init
DIRS =
NETOBJS = net.o
PCMCIAOBJS = pcmcia.o $(NETOBJS)
-OPTS = -O2 -g
+#OPTS = -O2 -g
+OPTS = -O -g
MODULELINKAGE :=../isys/modutils/insmod/libmodutils.a \
../isys/modutils/util/libutil.a \
@@ -118,6 +119,9 @@ install: all
install -m 644 kon.cfg $(DESTDIR)/$(RUNTIMEDIR)/loader
install -m 644 minikon.fnt $(DESTDIR)/$(RUNTIMEDIR)/loader
+urltest: urltest.o ftp.o urls.o lang.o log.o windows.o
+ $(CC) -g -o urltest urltest.o -lnewt ftp.o urls.o lang.o log.o windows.o -lz ../isys/libisys.a -lresolv
+
loader: loader.o $(OBJS) $(NETOBJS)
$(CC) -g $(STATIC) -o $@ $^ -lpopt \
-lkudzu_loader ../isys/libisys.a ../balkan/libbalkan.a \
diff --git a/loader/loader.c b/loader/loader.c
index 69c81f1f6..9dfba7a3e 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -2647,8 +2647,6 @@ logMessage("found url image %s", url);
unlink("/lib");
symlink("mnt/runtime/lib", "/lib");
-/* the only modules we need for alpha are on the initrd */
-#if !defined(__alpha__)
unlink("/modules/modules.dep");
unlink("/modules/module-info");
unlink("/modules/pcitable");
@@ -2673,7 +2671,7 @@ logMessage("found url image %s", url);
symlink("../mnt/runtime/modules/modules64.cgz",
"/modules/modules65.cgz");
# endif
-#endif /* !__alpha__ and !__ia32__ */
+#endif /* !__ia64__ */
}
logMessage("getting ready to spawn shell now");
diff --git a/milo.py b/milo.py
index 19936b812..25b28cc6b 100644
--- a/milo.py
+++ b/milo.py
@@ -22,16 +22,19 @@ def onMILO ():
return 0
def partitionNum (path):
- i = 0
- while path[i] not in string.digits:
- i = i + 1
- return string.atoi (path[i:])
+ i = len(path) - 1
+ while path[i] in string.digits:
+ i = i - 1
+ return string.atoi (path[i + 1:])
def wholeDevice (path):
- i = 0
- while path[i] not in string.digits:
- i = i + 1
- return path[:i]
+ i = len(path) - 1
+ while path[i] in string.digits:
+ i = i - 1
+ extra = 1
+ if string.find(path, "rd/") >= 0:
+ extra = 0
+ return path[:i + extra]
class MiloInstall:
def __init__ (self, todo):
@@ -39,13 +42,13 @@ class MiloInstall:
self.todo = todo
def makeInitrd (self, kernelTag, instRoot):
- initrd = "/boot/initrd%s.img" % (kernelTag, )
+ initrd = "initrd%s.img" % (kernelTag, )
if not self.initrdsMade.has_key(initrd):
iutil.execWithRedirect("/sbin/mkinitrd",
- [ "/sbin/mkinitrd",
+ ("/sbin/mkinitrd",
"--ifneeded",
- initrd,
- kernelTag[1:] ],
+ "/boot/" + initrd,
+ kernelTag[1:]),
stdout = None, stderr = None, searchPath = 1,
root = instRoot)
self.initrdsMade[kernelTag] = 1
@@ -86,20 +89,41 @@ class MiloInstall:
f.write ("# all kernel paths are relative to /boot/\n")
lines = 0
- for package, tag in (('kernel-smp', 'smp'), ('kernel', '')):
- if (self.todo.hdList.has_key(package) and
- self.todo.hdList[package].selected):
- kernel = self.todo.hdList[package]
- initrd = self.makeInitrd (tag, self.todo.instPath)
- extra=""
- if os.access (self.todo.instPath + initrd, os.R_OK):
- extra=" initrd=%s/%s" % (kernelprefix, initrd)
- version = "%s-%s" % (kernel[rpm.RPMTAG_VERSION],
- kernel[rpm.RPMTAG_RELEASE])
- f.write ("%d:%d%svmlinuz-%s%s root=/dev/%s%s\n" %
- (lines, partition, kernelprefix,
- version, tag, rootDevice, extra))
- lines = lines + 1
+ kernelList = []
+ hdList = self.todo.hdList
+ upgrade = self.todo.upgrade
+ smpInstalled = (hdList.has_key('kernel-smp') and
+ hdList['kernel-smp'].selected)
+
+ # This is a bit odd, but old versions of Red Hat could install
+ # SMP kernels on UP systems, but (properly) configure the UP version.
+ # We don't want to undo that, but we do want folks using this install
+ # to be able to override the kernel to use during installs. This rule
+ # seems to nail this.
+ if (upgrade and not isys.smpAvailable()):
+ smpInstalled = 0
+
+ if (isys.smpAvailable() and hdList.has_key('kernel-enterprise') and
+ hdList['kernel-enterprise'].selected):
+ kernelList.append((hdList['kernel-enterprise'], "enterprise"))
+
+ if (smpInstalled):
+ kernelList.append((hdList['kernel-smp'], "smp"))
+
+ kernelList.append((hdList['kernel'], ""))
+
+ for (kernel, tag) in kernelList:
+ kernelTag = "-%s-%s%s" % (kernel[rpm.RPMTAG_VERSION],
+ kernel[rpm.RPMTAG_RELEASE], tag)
+ kernelFile = "vmlinuz" + kernelTag
+ initrd = self.makeInitrd (kernelTag, self.todo.instPath)
+ extra=""
+ if os.access (self.todo.instPath + "/boot/" + initrd, os.R_OK):
+ extra=" initrd=%s%s" % (kernelprefix, initrd)
+ f.write ("%d:%d%s%s root=/dev/%s%s\n" %
+ (lines, partition, kernelprefix,
+ kernelFile, rootDevice, extra))
+ lines = lines + 1
f.close ()
diff --git a/po/ja.po b/po/ja.po
index c1624a072..f4b72c8ef 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -1287,7 +1287,7 @@ msgstr "表示:"
#: ../iw/timezone_gui.py:159 ../iw/timezone_gui.py:160
msgid "System clock uses UTC"
-msgstr "システムクロックで UTC を使用"
+msgstr "システムクロックで\nUTC を使用"
#: ../iw/timezone_gui.py:208
msgid "Use Daylight Saving Time (US only)"
diff --git a/raid.py b/raid.py
index 01659fc0e..fb61073d8 100644
--- a/raid.py
+++ b/raid.py
@@ -16,7 +16,7 @@ def scanForRaid(drives):
parts = []
os.remove("/tmp/" + d)
- for i in range(0, len(parts) - 1):
+ for i in range(0, len(parts)):
(type, start, size) = parts[i]
if type != _balkan.RAID: continue
diff --git a/scripts/mk-images b/scripts/mk-images
index dbd1b896d..7d82b142c 100755
--- a/scripts/mk-images
+++ b/scripts/mk-images
@@ -267,6 +267,7 @@ makemoduleball() {
find $version -type f | cpio --quiet -H crc -o | gzip -9 > ../$MMB_NAME
cd ..
rm -rf modules
+ chmod 644 *
popd > /dev/null
}
@@ -588,6 +589,7 @@ makeImage () {
rmdir $MI_MNTPOINT
gzip -9 < $MI_TMPIMAGE > $MI_TO
+ chmod 644 $MI_TO
echo "Wrote $MI_TO (${left}k of ${MI_SIZE}k free)"
}
@@ -660,6 +662,7 @@ makemainimage () {
umount $mmi_mntpoint
cp $mmi_tmpimage $INSTIMGPATH/${imagename}.img
+ chmod 644 $INSTIMGPATH/${imagename}.img
echo "Wrote $INSTIMGPATH/${imagename}.img (${SIZE}k)"
diff --git a/scripts/mk-images.alpha b/scripts/mk-images.alpha
index 776134b90..9d618f269 100644
--- a/scripts/mk-images.alpha
+++ b/scripts/mk-images.alpha
@@ -2,7 +2,7 @@ SECSTAGE="vfat raid0 raid1 raid5"
prepareBootImage() {
dd if=/dev/zero of=$MBD_TMPIMAGE bs=1k count=$BOOTDISKSIZE 2>/dev/null
- echo y | /sbin/mke2fs -i 4096 $MBD_TMPIMAGE > /dev/null 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
@@ -28,8 +28,24 @@ SCSIMODULES="DAC960"
mkdir -p $TOPDESTPATH/boot
cp $BOOTDISKDIR/bootlx $TOPDESTPATH/boot
+mkdir -p $TOPDESTPATH/etc
+cat > $TOPDESTPATH/etc/aboot.cfg <<EOF
+#
+# Red Hat Linux/Alpha aboot configuration
+#
+# Options:
+#
+# 0 - boot into the Red Hat Linux installer
+# 1 - boot into the Red Hat Linux installer using a 2.4 kernel
+# 2 - boot into the Red Hat Linux installer using a Jensen kernel
+#
+0:/kernels/vmlinux.gz initrd=/images/ramdisk.img
+1:/kernels/vmlinuz.24 initrd=/images/ramdisk.img
+2:/kernels/vmlinuz.j initrd=/images/ramdisk.img
+EOF
+
makeinitrd --initrdto $TOPDESTPATH/images/ramdisk.img \
- --initrdsize 3000 \
+ --initrdsize 4096 \
--padsize 1440 \
--loaderbin loader \
--modules "$NETMODULES $SCSIMODULES vfat"
@@ -38,6 +54,27 @@ makebootdisk --bootdisksize 1440 --kernelto $TOPDESTPATH/kernels/vmlinux.gz \
--imagename generic.img
makemainmodules "$SECSTAGE $SCSIMODULES"
-makeinstimage --size1 3700 --size2 3600 "netstg" "$SECSTAGE $SCSIMODULES"
-makeinstimage --size1 3700 --size2 3600 "hdstg" "$SECSTAGE $NETMODULES"
+makeinstimage --size1 3800 --size2 4096 "netstg" "$SECSTAGE $SCSIMODULES"
+makeinstimage --size1 3800 --size2 4096 "hdstg" "$SECSTAGE $NETMODULES"
makemainimage "stage2"
+
+if [ -f $TOPDESTPATH/preview/RPMS/kernel-2.4.0-*.alpha.rpm ]; then
+ K24_PKG=$TOPDESTPATH/preview/RPMS/kernel-2.4.0-*.alpha.rpm
+ K24_DIR=/tmp/kernel24.dir.$$
+ mkdir -p $K24_DIR
+ rpm2cpio $K24_PKG | (cd $K24_DIR; cpio --quiet -iumd ./boot/vmlinuz-*)
+ cp $K24_DIR/boot/vmlinuz-* $TOPDESTPATH/kernels/vmlinuz.24
+ rm -rf $K24_DIR
+fi
+
+
+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
+
+
diff --git a/scripts/upd-instroot b/scripts/upd-instroot
index 8a727565c..8678ac9b9 100755
--- a/scripts/upd-instroot
+++ b/scripts/upd-instroot
@@ -580,6 +580,11 @@ if [ -d $DEST/usr/share/locale ]; then
done
fi
+if [ $ARCH = "alpha" ]; then
+ rm -rf $DEST/usr/share/locale
+ rm -rf $DEST/usr/lib/locale
+fi
+
echo "Patching python library..."
# always use passive mode for ftp installs