diff options
-rw-r--r-- | anaconda.spec.in | 2 | ||||
-rw-r--r-- | balkan/bsdlabel.c | 11 | ||||
-rw-r--r-- | isys/Makefile | 3 | ||||
-rw-r--r-- | isys/isys.c | 8 | ||||
-rw-r--r-- | loader/Makefile | 6 | ||||
-rw-r--r-- | loader/loader.c | 4 | ||||
-rw-r--r-- | milo.py | 76 | ||||
-rw-r--r-- | po/ja.po | 2 | ||||
-rw-r--r-- | raid.py | 2 | ||||
-rwxr-xr-x | scripts/mk-images | 3 | ||||
-rw-r--r-- | scripts/mk-images.alpha | 45 | ||||
-rwxr-xr-x | scripts/upd-instroot | 5 |
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"); @@ -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 () @@ -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)" @@ -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 |