From 3cc3b3c44741fc5697a9d1e752a880c532ca5dce Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 7 May 2019 03:55:58 -0400 Subject: [PATCH] import memtest86+-5.01-19.el8 --- .gitignore | 1 + .memtest86+.metadata | 1 + SOURCES/20_memtest86+ | 142 ++++++ SOURCES/README | 83 +++ SOURCES/memtest-setup | 145 ++++++ SOURCES/memtest-setup.8 | 38 ++ SOURCES/memtest86+-5.01-compile-fix.patch | 20 + SOURCES/memtest86+-5.01-crash-fix.patch | 99 ++++ SOURCES/memtest86+-5.01-fgnu89-inline.patch | 13 + SOURCES/memtest86+-5.01-no-optimization.patch | 11 + SOURCES/memtest86+-5.01-no-scp.patch | 12 + SOURCES/memtest86+.conf | 10 + SOURCES/new-memtest-pkg | 352 +++++++++++++ SPECS/memtest86+.spec | 482 ++++++++++++++++++ 14 files changed, 1409 insertions(+) create mode 100644 .gitignore create mode 100644 .memtest86+.metadata create mode 100644 SOURCES/20_memtest86+ create mode 100644 SOURCES/README create mode 100755 SOURCES/memtest-setup create mode 100644 SOURCES/memtest-setup.8 create mode 100644 SOURCES/memtest86+-5.01-compile-fix.patch create mode 100644 SOURCES/memtest86+-5.01-crash-fix.patch create mode 100644 SOURCES/memtest86+-5.01-fgnu89-inline.patch create mode 100644 SOURCES/memtest86+-5.01-no-optimization.patch create mode 100644 SOURCES/memtest86+-5.01-no-scp.patch create mode 100644 SOURCES/memtest86+.conf create mode 100755 SOURCES/new-memtest-pkg create mode 100644 SPECS/memtest86+.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..015f805 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/memtest86+-5.01.tar.gz diff --git a/.memtest86+.metadata b/.memtest86+.metadata new file mode 100644 index 0000000..a95e897 --- /dev/null +++ b/.memtest86+.metadata @@ -0,0 +1 @@ +eb4b6d70114db3c9ed320785da44c0ba8349c10c SOURCES/memtest86+-5.01.tar.gz diff --git a/SOURCES/20_memtest86+ b/SOURCES/20_memtest86+ new file mode 100644 index 0000000..9b6dabd --- /dev/null +++ b/SOURCES/20_memtest86+ @@ -0,0 +1,142 @@ +#! /bin/sh +set -e + +# grub-mkconfig helper script. +# Copyright (C) 2011 Michal Ambroz +# +# 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 3 of the License, or +# (at your option) any later version. +# +# 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 the script. If not, see . + +prefix=/usr +exec_prefix=/usr +bindir=/usr/bin +grublibdir=/usr/share/grub +. ${grublibdir}/grub-mkconfig_lib + +export TEXTDOMAIN=grub +export TEXTDOMAINDIR=${prefix}/share/locale + +CLASS="" + +if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then + OS=Memtest +else + OS="${GRUB_DISTRIBUTOR} Memtest" +fi + +CONF_FILE="/etc/memtest86+.conf" +CONF_ELF_VAR="INSTALL_ELF" + +MEMTEST86_ELF=`[ -r "$CONF_FILE" ] && sed -n "/^\s*${CONF_ELF_VAR}\s*=/ {s/^\s*${CONF_ELF_VAR}\s*=\s*\(.*\)$/\1/; T end; s/\s*\(\S\)*\s*/\1/; p; :end}" "$CONF_FILE" 2>/dev/null` +if [ "x${MEMTEST86_ELF}" = "x" ] || [ "x${MEMTEST86_ELF}" = "x1" ] || [ "x${MEMTEST86_ELF}" = "xtrue" ]; then + MEMTEST86_ELF=1 + BANNER_SUFFIX= + IMAGE="elf-memtest" +else + MEMTEST86_ELF=0 + IMAGE="memtest" + BANNER_SUFFIX=" (non-ELF)" +fi + +# loop-AES arranges things so that /dev/loop/X can be our root device, but +# the initrds that Linux uses don't like that. +case ${GRUB_DEVICE} in + /dev/loop/*|/dev/loop[0-9]) + GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"` + ;; +esac + +if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \ + || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \ + || uses_abstraction "${GRUB_DEVICE}" lvm; then + LINUX_ROOT_DEVICE=${GRUB_DEVICE} +else + LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID} +fi + +if [ "x`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2>/dev/null || true`" = xbtrfs ]; then + rootsubvol="`make_system_path_relative_to_its_root /`" + rootsubvol="${rootsubvol#/}" + if [ "x${rootsubvol}" != x ]; then + GRUB_CMDLINE_LINUX="rootflags=subvol=${rootsubvol} ${GRUB_CMDLINE_LINUX}" + fi +fi + +memtest_entry () +{ + os="$1" + version="$2" + recovery="$3" + args="$4" + title="$(gettext_quoted "%s %s")" + printf "menuentry '${title}${BANNER_SUFFIX}' {\n" "${os}" "${version}" + + + if [ x$dirname = x/ ]; then + if [ -z "${prepare_root_cache}" ]; then + prepare_root_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE} | sed -e "s/^/\t/")" + fi + printf '%s\n' "${prepare_root_cache}" + else + if [ -z "${prepare_boot_cache}" ]; then + prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")" + fi + printf '%s\n' "${prepare_boot_cache}" + fi + message="$(gettext_printf "Loading %s %s ..." "${os}" "${version}")" + if [ "x${MEMTEST86_ELF}" = "x1" ]; then + cat << EOF + insmod bsd + echo '$message' + knetbsd ${rel_dirname}/${basename} +} +EOF + else + cat << EOF + echo '$message' + linux16 ${rel_dirname}/${basename} +} +EOF + fi +} + +case x`uname -m` in + xi?86 | xx86_64) + list=`for i in /boot/${IMAGE}* ; do + if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi + done` ;; + *) + list=`for i in /boot/${IMAGE}* ; do + if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi + done` ;; +esac + +prepare_boot_cache= +prepare_root_cache= + +while [ "x$list" != "x" ] ; do + linux=`version_find_latest $list` + echo "Found memtest image: $linux" >&2 + basename=`basename $linux` + dirname=`dirname $linux` + rel_dirname=`make_system_path_relative_to_its_root $dirname` + version=`echo $basename | sed -e "s,^[^0-9]*-,,g"` + alt_version=`echo $version | sed -e "s,\.old$,,g"` + linux_root_device_thisversion="${LINUX_ROOT_DEVICE}" + + + memtest_entry "${OS}" "${version}" false \ + "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" + + list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '` +done diff --git a/SOURCES/README b/SOURCES/README new file mode 100644 index 0000000..b05812a --- /dev/null +++ b/SOURCES/README @@ -0,0 +1,83 @@ +Install memtest86+ into your grub menu by the following command: + +# memtest-setup + +If you use GRUB 2 (the default) it will install 20_memtest86+ GRUB template +into /etc/grub.d and you will also need to regenerate GRUB 2 config by running: + +# grub2-mkconfig -o /boot/grub2/grub.cfg + +This is not done automatically because it could overwrite any custom changes +in /boot/grub2/grub.cfg. + +By default ELF version of memtest86+ is installed, which should work on most of +the systems. In case it doesn't work for you, you can try to install the non-ELF +version by running: + +# memtest-setup -b + +Or with GRUB 2 you can switch between ELF and non-ELF versions of memtest86+ +by using INSTALL_ELF variable from /etc/memtest86+.conf. Setting it to '1' +will instruct GRUB 2 to install ELF version of memtest86+ and setting it +to '0' will instruct GRUB2 to install non-ELF version. If the variable +is empty or unset, the ELF version is installed (it's due to backward +compatibility). For the change to take effect you need to regenerate your +GRUB 2 config by running: + +# grub2-mkconfig -o /boot/grub2/grub.cfg + +The non-ELF version is known to cause various problems and it may not work on +several systems. That's why the ELF version is installed by default. + +In case of problems you can also try to install the non-ELF version of +memtest86+ on floppy disk or USB flash disk and boot the memtest86+ from it. +The following command installs the memtest86+ on floppy disk +(WARNING: all data previosly stored on the disk will be lost): + +# dd if=/boot/memtest86+-VERSION of=/dev/fd0 + +For USB flash disk the command is the same, just change the 'of' device +appropriately (usually USB flash disk is /dev/sdb, but double check that +the device string matches your USB flash disk before you run the command, +wrong device string may cause significat harm, e.g. it can destroy content +of your system or data disks). + +The memtest86+ now supports some command line parameters: + console= - serial console can be used for memtest86+ control/display, + example of usage: + console=ttyS0 + console=ttyS0,115200 + console=ttyS1,115200n8 + Only ttyS0 and ttyS1 are supported. + + btrace - enable boot trace. + + maxcpus= - limit number of CPUs to use. + + onepass - run one pass and exit if there are no errors. + + tstlist= - setup a list of tests to run. + + cpumask= - set a CPU (hexadecimal) mask to select CPU's to use for testing. + +You can add memtest86+ command line parameters into grub like you are +used with kernel command line parameters, e.g.: + kernel /memtest86+-VERSION console=ttyS0 + +Unfortunately this is currently supported only with non-ELF memtest86+ image. +You cannot use the command line parameters with the ELF image, because the +command line handling is currently not supported by grub for ELF images. + +If you need to use serial console with ELF image, you need to recompile +memtest86+ and explicitly enable/configure serial line. In such case +edit the config.h in memtest86+ sources the following way: + +#define SERIAL_CONSOLE_DEFAULT 1 +#define SERIAL_TTY 0 +#define SERIAL_BAUD_RATE 9600 + +and recompile memtest86+. This will explicitly enable serial console and +set it to use ttyS0,9600. + +NOTE: explicitly enabled serial console may significantly slow down the memory +testing. diff --git a/SOURCES/memtest-setup b/SOURCES/memtest-setup new file mode 100755 index 0000000..b674171 --- /dev/null +++ b/SOURCES/memtest-setup @@ -0,0 +1,145 @@ +#!/bin/bash + +# package name +PNAME="memtest86+" + +# binary image +BNAME="memtest86+" + +# ELF image +ELFNAME="elf-$BNAME" + +# executable image to be installed +ENAME="$ELFNAME" + +# GRUB 2 template +G2TEMPL="20_memtest86+" + +# GRUB 2 environment file +CONF_FILE="/etc/memtest86+.conf" + +# GRUB legacy configuration file +GRUBCONF="/boot/grub/grub.conf" + +# GRUB2 configuration file +GRUB2CFG="/boot/grub2/grub.cfg" + +# GRUB2 environment variable to control image type +CONF_VAR="INSTALL_ELF" + +# whether to install ELF image +ELF=1 + +if [ "$1" = "--help" -o "$1" = "-h" ]; then + cat <<:EOF +usage: memtest-setup [OPTIONS] + +This utility installs Memtest86+ into your GRUB boot loader menu. +It supports both GRUB 2 and GRUB Legacy (i.e. GRUB 0.9x). +In case of GRUB 2 it installs GRUB 2 template into /etc/grub.d and GRUB 2 +config needs to be regenerated manually by running: + +grub2-mkconfig -o $GRUB2CFG + +This is not done automatically because it could overwrite any custom changes +in /boot/grub2/grub.cfg. + +OPTIONS: + -e , --elf installs ELF image (the default) + -b , --bin installs binary image (non-ELF) + -h , --help show this help + +:EOF + exit 0 +fi + +[ "$1" = "-b" -o "$1" = "--bin" ] && ELF=0 +[ "$1" = "-e" -o "$1" = "--elf" ] && ELF=1 + +if [ "$ELF" = 1 ]; then + # BANNER_SUFFIX needs to be simultaneously changed also in grub2 template + BANNER_SUFFIX= + ENAME="$ELFNAME" +else + ELF=0 + BANNER_SUFIX="(non-ELF)" + ENAME="$BNAME" +fi + +if [ -d /sys/firmware/efi ]; then + echo "ERROR: memtest86+ does not support EFI platforms." + exit 254 +fi + +if [ ! -r "$GRUBCONF" -a ! -r "$GRUB2CFG" ]; then + echo "ERROR: unable to read grub configuration file. Do you have enough permissions?" + echo "Try to run as root." + exit 249 +fi + +if [ -f "$GRUB2CFG" ]; then + echo "GRUB 2 detected, installing template..." + if [ ! -d /etc/grub.d ]; then + echo "ERROR: unable to find /etc/grub.d" + exit 253 + fi + if [ ! -r /usr/share/memtest86+/$G2TEMPL ]; then + echo "ERROR: unable to find GRUB 2 template." + exit 251 + fi + if ! cp /usr/share/memtest86+/$G2TEMPL /etc/grub.d; then + echo "ERROR: unable to copy GRUB 2 template, do you have write permission to" + echo "/etc/grub.d?" + # EX_IOERR + exit 74 + fi + if [ ! -w "$CONF_FILE" ] + then + echo "ERROR: file '$CONF_FILE' is not writable." + exit 250 + fi + chmod a+x /etc/grub.d/$G2TEMPL + echo "GRUB 2 template installed." + echo "Do not forget to regenerate your grub.cfg by:" + echo " # grub2-mkconfig -o $GRUB2CFG" +else + MTVERSION=`rpm -q --qf '%{version}' $PNAME` + MTPATH="/boot/$ENAME-$MTVERSION" + + if [ ! -r "$GRUBCONF" ]; then + echo "ERROR: $GRUBCONF not found or not readable." + exit 252 + fi + + MENT=`cat /boot/grub/grub.conf | grep "$ENAME-$MTVERSION"` &> /dev/null + if [ "$MENT" != "" ]; then + echo "$MTPATH is already configured. Exiting..." + exit 0 + fi + + if [ ! -f $MTPATH ]; then + echo "ERROR: $MTPATH does not exist." + exit 255 + fi + + /sbin/new-memtest-pkg --install $MTVERSION --banner="Memtest86+${BANNER_SUFFIX}" --kernel-name="$ENAME" + RETVAL="$?" + + if [ "$RETVAL" != "0" ]; then + echo "ERROR: grubby failed to configure your bootloader for $MTPATH." + exit $RETVAL + else + [ "$ELF" = 1 ] && sed -i -e"s,kernel \(/boot\)\?/$ENAME,kernel --type=netbsd \1/$ENAME," /boot/grub/grub.conf + sed -i -e"s,/$ENAME-$MTVERSION.*,/$ENAME-$MTVERSION," /boot/grub/grub.conf + fi +fi + +# update/add configuration variable to the configuration file +if grep -q "^\s*$CONF_VAR\s*=" "$CONF_FILE" +then + sed -i "/^\s*$CONF_VAR\s*=/ s/\(\s*$CONF_VAR\s*=[\"']\?\)[^\"']*\([\"']\?\s*\)/\1${ELF}\2/g" "$CONF_FILE" +else + echo "$CONF_VAR=\"$ELF\"" >> "$CONF_FILE" +fi + +echo "Setup complete." diff --git a/SOURCES/memtest-setup.8 b/SOURCES/memtest-setup.8 new file mode 100644 index 0000000..07dc8e3 --- /dev/null +++ b/SOURCES/memtest-setup.8 @@ -0,0 +1,38 @@ +.TH "MEMTEST\-SETUP" "8" "Aug 26, 2014" "memtest-setup" "Memtest86+ User Manual" +.nh +.ad l +.SH "NAME" +memtest\-setup \- Install Memtest86+ into your GRUB boot loader menu +.SH "SYNOPSIS" +.HP \w'\fBmemtest\-setup\fR\ 'u +.B memtest\-setup +.RI [ OPTIONS ] +.SH "DESCRIPTION" +.PP +\fBmemtest\-setup\fR +installs Memtest86+ into your GRUB boot loader menu. It supports both GRUB\ 2 +and GRUB Legacy (i.e. GRUB 0.9x). In case of GRUB\ 2 it installs GRUB\ 2 template +into \fI/etc/grub.d\fR and GRUB\ 2 config needs to be regenerated manually by +running \fBgrub2-mkconfig\ -o\ \fI/boot/grub2/grub.cfg\fR under root. +This is not done automatically because it could overwrite any custom changes in +\fI/boot/grub2/grub.cfg\fR. +.SH "OPTIONS" +.SS +.TP +.BR \-h ", " \-\-help +Shows help. +.SH "AUTHOR" +.PP +\fBJaroslav Škarvada\fR <\&jskarvad@redhat\&.com\&> +.RS 4 +Manpage author\&. +.RE +.SH "COPYRIGHT" +.BR +Copyright \(co 2014 Jaroslav Škarvada +.BR +.PP +Permission is granted to copy, distribute and/or modify this document under the terms of the +GNU +General Public License, Version 2 or (at your option) any later version published by the Free Software Foundation\&. +.SP diff --git a/SOURCES/memtest86+-5.01-compile-fix.patch b/SOURCES/memtest86+-5.01-compile-fix.patch new file mode 100644 index 0000000..f178259 --- /dev/null +++ b/SOURCES/memtest86+-5.01-compile-fix.patch @@ -0,0 +1,20 @@ +--- memtest86+-5.01/io.h~ 2013-08-10 02:01:58.000000000 +0000 ++++ memtest86+-5.01/io.h 2014-01-08 01:29:12.404465515 +0000 +@@ -31,7 +31,7 @@ + */ + + #define __OUT1(s,x) \ +-extern inline void __out##s(unsigned x value, unsigned short port) { ++static inline void __out##s(unsigned x value, unsigned short port) { + + #define __OUT2(s,s1,s2) \ + __asm__ __volatile__ ("out" #s " %" s1 "0,%" s2 "1" +@@ -43,7 +43,7 @@ + __OUT1(s##c_p,x) __OUT2(s,s1,"") : : "a" (value), "id" (port)); SLOW_DOWN_IO; } + + #define __IN1(s) \ +-extern inline RETURN_TYPE __in##s(unsigned short port) { RETURN_TYPE _v; ++static inline RETURN_TYPE __in##s(unsigned short port) { RETURN_TYPE _v; + + #define __IN2(s,s1,s2) \ + __asm__ __volatile__ ("in" #s " %" s2 "1,%" s1 "0" diff --git a/SOURCES/memtest86+-5.01-crash-fix.patch b/SOURCES/memtest86+-5.01-crash-fix.patch new file mode 100644 index 0000000..de7c86b --- /dev/null +++ b/SOURCES/memtest86+-5.01-crash-fix.patch @@ -0,0 +1,99 @@ +diff --git a/controller.c b/controller.c +index f4f7371..183e9c3 100644 +--- a/controller.c ++++ b/controller.c +@@ -2,6 +2,8 @@ + * MemTest86+ V5 Specific code (GPL V2.0) + * By Samuel DEMEULEMEESTER, sdemeule@memtest.org + * http://www.canardpc.com - http://www.memtest.org ++ * ++ * Edited by David McInnis Oct 4, 2014 + */ + + //#include "defs.h" +@@ -292,7 +294,7 @@ static void setup_nhm(void) + + /* First, locate the PCI bus where the MCH is located */ + +- for(i = 0; i < sizeof(possible_nhm_bus); i++) { ++ for(i = 0; i < sizeof(possible_nhm_bus) / sizeof(possible_nhm_bus[0]); i++) { + pci_conf_read( possible_nhm_bus[i], 3, 4, 0x00, 2, &vid); + pci_conf_read( possible_nhm_bus[i], 3, 4, 0x02, 2, &did); + vid &= 0xFFFF; +@@ -327,7 +329,7 @@ static void setup_nhm32(void) + ctrl.mode = ECC_NONE; + + /* First, locate the PCI bus where the MCH is located */ +- for(i = 0; i < sizeof(possible_nhm_bus); i++) { ++ for(i = 0; i < sizeof(possible_nhm_bus) / sizeof(possible_nhm_bus[0]); i++) { + pci_conf_read( possible_nhm_bus[i], 3, 4, 0x00, 2, &vid); + pci_conf_read( possible_nhm_bus[i], 3, 4, 0x02, 2, &did); + vid &= 0xFFFF; +@@ -1424,7 +1426,7 @@ static void poll_fsb_amd64(void) { + unsigned long dramchr; + float clockratio; + double dramclock; +- unsigned int dummy[3]; ++ unsigned int dummy[4]; + int ram_type; + + float coef = 10; +@@ -2851,13 +2853,13 @@ static void poll_timings_nf4ie(void) { + + static void poll_timings_i875(void) { + +- ulong dev6, dev62; ++ ulong dev6; + ulong temp; + float cas; + int rcd, rp, ras, chan; + long *ptr, *ptr2; + +- pci_conf_read( 0, 6, 0, 0x40, 4, &dev62); ++ pci_conf_read( 0, 6, 0, 0x40, 4, &dev6); + ptr2=(long*)(dev6+0x68); + + /* Read the MMR Base Address & Define the pointer */ +diff --git a/init.c b/init.c +index 754b8d7..5bd8b4f 100644 +--- a/init.c ++++ b/init.c +@@ -7,6 +7,8 @@ + * + * Released under version 2 of the Gnu Public License. + * By Chris Brady ++ * ++ * Edited by David McInnis October 4, 2014 + */ + + +@@ -914,7 +916,6 @@ void cpu_type(void) + default: + cprint(0, COL_MID, "Unknown Intel"); + break; +- break; + } + + } +diff --git a/main.c b/main.c +index 0bc7ca0..613f811 100644 +--- a/main.c ++++ b/main.c +@@ -422,7 +422,7 @@ void test_start(void) + //initialise_cpus(); + btrace(my_cpu_num, __LINE__, "BeforeInit", 1, 0, 0); + /* Draw the screen and get system information */ +- init(); ++ init(); + + /* Set defaults and initialize variables */ + set_defaults(); +@@ -737,7 +737,7 @@ void test_start(void) + /* Do the same test for each CPU */ + if (++cpu_sel >= act_cpus) + { +- cpu_sel = 0; ++ cpu_sel = 0; + next_test(); + } else { + continue; diff --git a/SOURCES/memtest86+-5.01-fgnu89-inline.patch b/SOURCES/memtest86+-5.01-fgnu89-inline.patch new file mode 100644 index 0000000..1080835 --- /dev/null +++ b/SOURCES/memtest86+-5.01-fgnu89-inline.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile b/Makefile +index 7906d50..03eb50b 100644 +--- a/Makefile ++++ b/Makefile +@@ -13,7 +13,7 @@ AS=as -32 + CC=gcc + + CFLAGS= -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin \ +- -ffreestanding -fPIC $(SMP_FL) -fno-stack-protector ++ -ffreestanding -fPIC $(SMP_FL) -fno-stack-protector -fgnu89-inline + + OBJS= head.o reloc.o main.o test.o init.o lib.o patn.o screen_buffer.o \ + config.o cpuid.o linuxbios.o pci.o memsize.o spd.o error.o dmi.o controller.o \ diff --git a/SOURCES/memtest86+-5.01-no-optimization.patch b/SOURCES/memtest86+-5.01-no-optimization.patch new file mode 100644 index 0000000..76815a9 --- /dev/null +++ b/SOURCES/memtest86+-5.01-no-optimization.patch @@ -0,0 +1,11 @@ +--- memtest86+-5.01/Makefile~ 2014-01-08 01:30:11.355900076 +0000 ++++ memtest86+-5.01/Makefile 2014-01-08 01:31:19.387555469 +0000 +@@ -12,7 +12,7 @@ + AS=as -32 + CC=gcc + +-CFLAGS= -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin \ ++CFLAGS= -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin \ + -ffreestanding -fPIC $(SMP_FL) -fno-stack-protector + + OBJS= head.o reloc.o main.o test.o init.o lib.o patn.o screen_buffer.o \ diff --git a/SOURCES/memtest86+-5.01-no-scp.patch b/SOURCES/memtest86+-5.01-no-scp.patch new file mode 100644 index 0000000..d420b85 --- /dev/null +++ b/SOURCES/memtest86+-5.01-no-scp.patch @@ -0,0 +1,12 @@ +diff --git a/Makefile b/Makefile +index bd55c1c..9909f07 100644 +--- a/Makefile ++++ b/Makefile +@@ -21,7 +21,6 @@ OBJS= head.o reloc.o main.o test.o init.o lib.o patn.o screen_buffer.o \ + + + all: clean memtest.bin memtest +- scp memtest.bin root@192.168.0.12:/srv/tftp/mt86plus + + # Link it statically once so I know I don't have undefined + # symbols and then link it dynamically so I have full diff --git a/SOURCES/memtest86+.conf b/SOURCES/memtest86+.conf new file mode 100644 index 0000000..96e7469 --- /dev/null +++ b/SOURCES/memtest86+.conf @@ -0,0 +1,10 @@ +# If INSTALL_ELF is set to 1 or if it is unset/empty, the ELF version of the +# memtest86+ will be installed, otherwise the non-ELF version will be +# installed. If you change this variable, you will have to regenerate your +# grub.conf for the changed to take effect, it is usually done by the +# following command: +# +# grub2-mkconfig -o /boot/grub2/grub.cfg +# +# For details see memtest86+ package documentation. +INSTALL_ELF=1 diff --git a/SOURCES/new-memtest-pkg b/SOURCES/new-memtest-pkg new file mode 100755 index 0000000..75a13b4 --- /dev/null +++ b/SOURCES/new-memtest-pkg @@ -0,0 +1,352 @@ +#!/bin/bash +# +# Invoked upon installation or removal of a kernel package, the following +# tasks are/can be done here: +# creation/removal of initrd +# run of depmod/removal of depmod generated files +# addition/removal of kernel images from grub/lilo configuration (via grubby) +# +# Copyright (C) 2002, 2003 Red Hat, Inc. +# + +PATH=/sbin:/bin:$PATH + +lilo=/usr/sbin/lilo + +# some defaults that are sane for most arches +kernelName=elf-memtest86+ + +if [ -x ./grubby ]; then + grubby=./grubby +else + grubby=/usr/sbin/grubby +fi + +cfgGrub="" +cfgLilo="" +runLilo="" +grubConfig="" + +ARCH=$(uname -m) + +if [ $ARCH = 'ia64' ]; then + liloConfig=/boot/efi/EFI/redhat/elilo.conf + bootPrefix=/boot/efi/EFI/redhat + liloFlag=elilo + isx86="" +elif [ $ARCH = 'ppc64' -o $ARCH = 'ppc' ]; then + liloConfig=/etc/yaboot.conf + bootPrefix=/boot + lilo=/usr/sbin/ybin + kernelName=vmlinux + liloFlag=yaboot + runLilo="yes" + isx86="" +elif [ $ARCH = 'sparc' -o $ARCH = 'sparc64' ]; then + liloConfig=/etc/silo.conf + bootPrefix=/boot + liloFlag=silo + lilo=/usr/sbin/silo + isx86="" +elif [ $ARCH = 's390' -o $ARCH = 's390x' ]; then + liloConfig=/etc/zipl.conf + bootPrefix=/boot + liloFlag=zipl + lilo=/usr/sbin/zipl + runLilo="yes" + isx86="" +else + # this leaves i?86 and x86_64 + liloConfig=/etc/lilo.conf + grubConfig=/boot/grub/grub.conf + bootPrefix=/boot + liloFlag=lilo + isx86="yes" +fi + +mode="" +version="" +initrd="" +initrdfile="" +moddep="" +verbose="" + +usage() { + echo "Usage: `basename $0` [-v] [--mkinitrd] [--rminitrd]" >&2 + echo " [--initrdfile=] [--depmod] [--rmmoddep]" >&2 + echo " [--kernel-args=] [--banner=]" >&2 + echo " [--kernel-name=]" >&2 + echo " <--install | --remove> " >&2 + echo " (ex: `basename $0` --mkinitrd --depmod --install 2.4.7-2)" >&2 + exit 1 +} + +install() { + # XXX kernel should be able to be specified also (or work right on ia64) + if [ ! -f $bootPrefix/$kernelName-$version ] ; then + [ -n "$verbose" ] && echo "kernel for $version does not exist, not running grubby" + return + fi + + INITRD="" + if [ -f $initrdfile ]; then + [ -n "$verbose" ] && echo "found $initrdfile and using it with grubby" + INITRD="--initrd $initrdfile" + fi + + # FIXME: is this a good heuristic to find out if we're on iSeries? + if [ -d /proc/iSeries ]; then + [ -n "$verbose" ] && echo "On an iSeries, just making img file" + if [ -z $initrdfile ]; then + [ -n "$verbose" ] && echo "No initrd, just adding system map" + /usr/sbin/addSystemMap $bootPrefix/System.map-$version $bootPrefix/$kernelName-$version $bootPrefix/vmlinitrd-$version + else + /usr/sbin/addSystemMap $bootPrefix/System.map-$version $bootPrefix/$kernelName-$version $bootPrefix/vmlinux.sm-$version + /usr/sbin/addRamDisk $initrdfile $bootPrefix/System.map-$version $bootPrefix/vmlinux.sm-$version $bootPrefix/vmlinitrd-$version 2>/dev/null + rm $bootPrefix/vmlinux.sm-$version + fi + return + fi + + # get the root filesystem to use; if it's on a label/uuid make sure it's + # been configured. if not, get the root device from mount + rootdevice=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $1; }}' /etc/fstab) + short=$(echo $rootdevice | cut -d= -f1) + if [ "$short" == "LABEL" -o "$short" == "UUID" ]; then + if ! /usr/sbin/findfs "$rootdevice" &> /dev/null; then + rootdevice=$(mount | awk '$3 == "/" { print $1 }') + fi + fi + + if [ -n "$cfgGrub" ]; then + [ -n "$verbose" ] && echo "adding $version to $grubConfig" + + if [ -n "$banner" ]; then + title="$banner ($version)" + elif [ -f /etc/redhat-release ]; then + title="$(sed 's/ release.*$//' < /etc/redhat-release) ($version)" + else + title="Red Hat Linux ($version)" + fi + # check whether grubby supports --grub argument + if /usr/sbin/grubby --help | grep -qe '--grub\W'; then + GRUB_ARG="--grub " + else + GRUB_ARG= + fi + /usr/sbin/grubby ${GRUB_ARG}--add-kernel=$bootPrefix/$kernelName-$version $INITRD \ + --copy-default --title "$title" \ + --args="root=$rootdevice $kernargs" \ + --remove-kernel="TITLE=$title" + else + [ -n "$verbose" ] && echo "$grubConfig does not exist, not running grubby" + fi + + if [ -n "$cfgLilo" ]; then + [ -n "$verbose" ] && echo "adding $version to $liloConfig" + + /usr/sbin/grubby --add-kernel=$bootPrefix/$kernelName-$version $INITRD \ + --copy-default --title $version \ + --args="root=$rootdevice $kernargs" \ + --remove-kernel="TITLE=$version" \ + --$liloFlag + + if [ -n "$runLilo" ]; then + [ -n "$verbose" ] && echo "running $lilo" + if [ ! -x $lilo ] ; then + [ -n "$verbose" ] && echo "$lilo does not exist" + else + $lilo > /dev/null + fi + fi + else + [ -n "$verbose" ] && echo "$liloConfig does not exist, not running grubby" + fi + +} + +remove() { + # FIXME: is this a good heuristic to find out if we're on iSeries? + if [ -d /proc/iSeries ]; then + [ -n "$verbose" ] && echo "On an iSeries, remove img file" + rm -f $bootPrefix/$kernelName-$version.img 2>/dev/null + return + fi + + if [ -n "$cfgGrub" ]; then + [ -n "$verbose" ] && echo "removing $version from $grubConfig" + /usr/sbin/grubby --remove-kernel=$bootPrefix/$kernelName-$version + else + [ -n "$verbose" ] && echo "$grubConfig does not exist, not running grubby" + fi + + if [ -n "$cfgLilo" ]; then + [ -n "$verbose" ] && echo "removing $version from $liloConfig" + /usr/sbin/grubby --remove-kernel=$bootPrefix/$kernelName-$version \ + --$liloFlag + + if [ -n "$runLilo" ]; then + [ -n "$verbose" ] && echo "running $lilo" + if [ ! -x $lilo ] ; then + [ -n "$verbose" ] && echo "$lilo does not exist" + else + $lilo > /dev/null + fi + fi + else + [ -n "$verbose" ] && echo "$liloConfig does not exist, not running grubby" + fi +} + +mkinitrd() { + [ -n "$verbose" ] && echo "creating initrd $initrdfile using $version" + /usr/sbin/mkinitrd -f $initrdfile $version + rc=$? + if [ $rc != 0 ]; then + echo "mkinitrd failed" >&2 + exit 1 + fi +} + +rminitrd() { + [ -n "$verbose" ] && echo "removing initrd $initrdfile" + [ -f $initrdfile ] && rm -f $initrdfile +} + +doDepmod() { + [ -n "$verbose" ] && echo "running depmod for $version" + depmod -ae -F /boot/System.map-$version $version +} + +doRmmoddep() { + [ -n "$verbose" ] && echo "removing modules.dep info for $version" + [ -d /lib/modules/$version ] && rm -f /lib/modules/$version/modules.* +} + + +while [ $# -gt 0 ]; do + case $1 in + --mkinitrd) + initrd="make" + ;; + + --rminitrd) + initrd="remove" + ;; + + --initrdfile*) + if echo $1 | grep '=' >/dev/null ; then + initrdfile=`echo $1 | sed 's/^--initrdfile=//'` + else + initrdfile=$2 + shift + fi + ;; + + --kernel-args*) + if echo $1 | grep '=' >/dev/null ; then + kernargs=`echo $1 | sed 's/^--kernel-args=//'` + else + kernargs=$2 + shift + fi + ;; + + --banner*) + if echo $1 | grep '=' >/dev/null ; then + banner=`echo $1 | sed 's/^--banner=//'` + else + banner=$2 + shift + fi + ;; + + --kernel-name*) + if echo $1 | grep '=' >/dev/null ; then + kernelName=`echo $1 | sed 's/^--kernel-name=//'` + else + kernelName=$2 + shift + fi + ;; + + --depmod) + moddep="make" + ;; + + --rmmoddep) + moddep="remove" + ;; + + -v) + verbose=-v + ;; + + *) + if [ -z "$mode" ]; then + mode=$1 + elif [ -z "$version" ]; then + version=$1 + else + usage + fi + ;; + esac + + shift +done + +# make sure the mode is valid +if [ "$mode" != "--install" -a "$mode" != "--remove" ] ; then + usage +fi + +if [ -z "$version" ]; then + usage +fi + +# set the initrd file based on arch; ia64 is the only currently known oddball +if [ -z "$initrdfile" ]; then + if [ `uname -m` = "ia64" ]; then + initrdfile="/boot/efi/EFI/redhat/initrd-$version.img" + else + initrdfile="/boot/initrd-$version.img" + fi + +fi +[ -n "$verbose" ] && echo "initrdfile is $initrdfile" + +if [ "$moddep" == "make" ]; then + doDepmod +elif [ "$moddep" == "remove" ]; then + doRmmoddep +fi + +if [ "$initrd" == "make" ]; then + mkinitrd +elif [ "$initrd" == "remove" ]; then + rminitrd +fi + +if [ ! -x $grubby ] ; then + [ -n "$verbose" ] && echo "$grubby does not exist" + exit 0 +fi + + +[ -n "$grubConfig" ] && [ -f "$grubConfig" ] && cfgGrub=1; +[ -n "$liloConfig" ] && [ -f "$liloConfig" ] && cfgLilo=1; + +# if we have a lilo config on an x86 box, see if the default boot loader +# is lilo to determine if it should be run +if [ -n "$cfgLilo" -a -n "$isx86" ]; then + runLilo=$($grubby --bootloader-probe | grep lilo) +fi + +if [ "$mode" == "--install" ]; then + install +elif [ "$mode" == "--remove" ]; then + remove +fi + +exit 0 diff --git a/SPECS/memtest86+.spec b/SPECS/memtest86+.spec new file mode 100644 index 0000000..ad36e45 --- /dev/null +++ b/SPECS/memtest86+.spec @@ -0,0 +1,482 @@ +%bcond_with update_grub + +# Prevent stripping +%global __spec_install_post /usr/lib/rpm/brp-compress +# Turn off debuginfo package +%global debug_package %{nil} + +%global readme_suffix %{?rhel:redhat}%{!?rhel:fedora} + +Name: memtest86+ +Version: 5.01 +Release: 19%{?dist} +License: GPLv2 +Summary: Stand-alone memory tester for x86 and x86-64 computers +Group: System Environment/Base +Source0: http://www.memtest.org/download/%{version}/%{name}-%{version}.tar.gz +Source1: memtest-setup +Source2: new-memtest-pkg +Source3: 20_memtest86+ +Source4: memtest-setup.8 +Source5: memtest86+.conf +Source6: README +# reported upstream +Patch0: memtest86+-5.01-no-scp.patch +# patches to get memtest86+ working with gcc-4.7.2 or later + PCI scan fix +# these patches were taken from Mageia +# upstream report containing link to the patches: +# http://forum.canardpc.com/threads/83443-Memtest86-V5.01-crashes-with-gcc-4.7.2-or-later +Patch1: memtest86+-5.01-no-optimization.patch +Patch2: memtest86+-5.01-compile-fix.patch +Patch3: memtest86+-5.01-crash-fix.patch +Patch4: memtest86+-5.01-fgnu89-inline.patch +URL: http://www.memtest.org +# require glibc-devel.i386 via this file: +BuildRequires: %{_includedir}/gnu/stubs-32.h +Requires: grubby sed coreutils util-linux +ExclusiveArch: %{ix86} x86_64 + +%description +Memtest86+ is a thorough stand-alone memory test for x86 and x86-64 +architecture computers. BIOS based memory tests are only a quick +check and often miss many of the failures that are detected by +Memtest86+. + +The ELF version should be used for booting from grub, +and avoids the following errors: +"Error 7: Loading below 1MB is not supported" +"Error 13: Invalid or unsupported executable format" +"Error 28: Selected item cannot fit into memory" + +The script '%{_sbindir}/memtest-setup' can be run (as root) +to add the %{name} entry to your GRUB boot menu. + +%prep +%setup -q +cp -p %{SOURCE6} README.%{readme_suffix} +%patch0 -p1 -b .no-scp +%patch1 -p1 -b .no-optimization +%patch2 -p1 -b .compile-fix +%patch3 -p1 -b .crash-fix +%patch4 -p1 -b .fgnu89-inline + +#sed -i -e's,0x10000,0x100000,' memtest.lds +%ifarch x86_64 +sed -i -e's,$(LD) -s -T memtest.lds,$(LD) -s -T memtest.lds -z max-page-size=0x1000,' Makefile +%endif + +%build +# Regular build flags not wanted for this binary +# Note: i486 minimum runtime arch +# It makes no sense to use smp flags here. +make + +%install +mkdir -p %{buildroot}/{boot,%{_sbindir}} + +# the ELF (memtest) version. +install -m644 memtest %{buildroot}/boot/elf-%{name}-%{version} + +# the floppy (memtest.bin) version. +install -m644 memtest.bin %{buildroot}/boot/%{name}-%{version} + +install -m755 %{SOURCE2} %{buildroot}%{_sbindir}/new-memtest-pkg +install -m755 %{SOURCE1} %{buildroot}%{_sbindir}/memtest-setup +sed -i 's/\r//' $RPM_BUILD_DIR/%{name}-%{version}/README + +mkdir -p %{buildroot}%{_sysconfdir}/grub.d +touch %{buildroot}%{_sysconfdir}/grub.d/20_memtest86+ + +install -Dd %{buildroot}%{_datadir}/%{name} +install -m644 %{SOURCE3} %{buildroot}%{_datadir}/%{name} + +# install manual page +install -Dpm 0644 %{SOURCE4} %{buildroot}%{_mandir}/man8/memtest-setup.8 + +# install configuration file +install -Dpm 0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/memtest86+.conf + +%post +%if %{with update_grub} +/usr/sbin/memtest-setup +%endif + +%preun +if [ -f /boot/grub/grub.conf ] +then + sed -i -e's,kernel --type=netbsd /elf-%{name}-%{version},kernel /elf-%{name}-%{version},' /boot/grub/grub.conf + %{_sbindir}/new-memtest-pkg --remove %{version} +fi + +%files +%doc README README.%{readme_suffix} +%config(noreplace) %{_sysconfdir}/memtest86+.conf +/boot/%{name}-%{version} +/boot/elf-%{name}-%{version} +%{_sbindir}/new-memtest-pkg +%dir %{_datadir}/%{name} +%{_datadir}/%{name}/20_memtest86+ +%ghost %attr(0755,-,-) %{_sysconfdir}/grub.d/20_memtest86+ +%{_sbindir}/memtest-setup +%{_mandir}/man8/*.8.gz + +%changelog +* Thu Feb 08 2018 Fedora Release Engineering - 5.01-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 5.01-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 5.01-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 5.01-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Apr 5 2016 Jaroslav Škarvada - 5.01-15 +- Various improvements to memtest-setup, e.g. now exits with error if + run by non root user + +* Tue Feb 23 2016 Jaroslav Škarvada - 5.01-14 +- Removed some spec artifacts (like buildroot cleaning) +- Fixed malformed "Loading" banner +- Not relocating memtest86+ above 1 MB + Related: rhbz#1303804 +- Introduced new configuration file (/etc/memtest86+.conf) +- Introduced new memtest-setup switches for selecting ELF/non-ELF versions + Resolves: rhbz#1303804 + +* Fri Feb 12 2016 Jaroslav Škarvada - 5.01-13 +- Updated distribution specific README + +* Thu Feb 04 2016 Fedora Release Engineering - 5.01-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jan 28 2016 Jaroslav Škarvada - 5.01-11 +- Fixed memtest86+ binary (non-ELF) to run from floppy + +* Fri Jan 8 2016 Jaroslav Škarvada - 5.01-10 +- Fixed memtest86+ to run even if relocated above 1 MB + (by real-mode-reloc patch) +- Relocated memtest86+ above 1 MB (as we always did in Fedora) +- Fixed compilation of inline assembly with new gcc + (by fgnu89-inline patch) + +* Wed Jun 17 2015 Fedora Release Engineering - 5.01-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Oct 21 2014 Jaroslav Škarvada - 5.01-8 +- More crash fixes (by crash-fix patch from David McInnis) + +* Fri Sep 5 2014 Jaroslav Škarvada - 5.01-7 +- Fixed typo in memtest-setup help, added its options to man / help + +* Wed Sep 3 2014 Jaroslav Škarvada - 5.01-6 +- Fixed memtest-setup script + +* Tue Aug 26 2014 Jaroslav Škarvada - 5.01-5 +- Added documentation regarding memtest-setup + +* Sun Aug 17 2014 Fedora Release Engineering - 5.01-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 5.01-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu Apr 3 2014 Jaroslav Škarvada - 5.01-2 +- Switched back to latest distro gcc + +* Mon Feb 17 2014 Jaroslav Škarvada - 5.01-1 +- New version + Resolves: rhbz#1013110 +- Switched to the gcc-34 due to upstream non-compatiblity with + the latest gccs (#1013110) +- Removed trailing whitespaces from the description + +* Mon Sep 16 2013 Jaroslav Škarvada - 4.20-11 +- Fixed grubby requirement +- Fixed bogus dates in changelog (best effort) + +* Sat Aug 03 2013 Fedora Release Engineering - 4.20-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 4.20-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Jan 8 2013 Jaroslav Škarvada - 4.20-8 +- Fixed packaging regarding usrmove + +* Fri Jul 20 2012 Fedora Release Engineering - 4.20-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Mar 27 2012 Jaroslav Škarvada - 4.20-6 +- Fixed path in 20_memtest86+ not to generate error on grub2-mkconfig + Resolves: rhbz#805542 +- Temporal fix for 7th test failure + Resolves: rhbz#805813 + +* Fri Jan 13 2012 Fedora Release Engineering - 4.20-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Dec 7 2011 Jaroslav Škarvada - 4.20-4 +- Used ELF format with grub2 + +* Wed Dec 7 2011 Jaroslav Škarvada - 4.20-3 +- Renamed 20_memtest to 20_memtest86+ +- Fixed ghost handling, 20_memtest86+ is properly removed now + +* Mon Dec 5 2011 Jaroslav Škarvada - 4.20-2 +- Added support for grub2, thanks to Michal Ambroz + +* Mon Mar 07 2011 Jaroslav Škarvada - 4.20-1 +- Update to new version (#682425) +- Removed fix-asciimap patch (not needed now) +- Removed make-gcc4-builds-work patch (not used) + +* Mon Feb 21 2011 Jaroslav Škarvada - 4.10-5 +- Deprecated nash replaceed by findfs (#671503) + +* Wed Feb 09 2011 Fedora Release Engineering - 4.10-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Jan 11 2011 Jaroslav Škarvada - 4.10-3 +- Reduce max-page-size on x86_64 to fit into loader limits (#620846) + +* Tue May 25 2010 Anton Arapov - 4.10-2 +- Fix memory region to load. (#578966) + +* Wed May 05 2010 Anton Arapov - 4.10-1 +- Update to new upstream release, v4.10 + +* Tue Mar 30 2010 Anton Arapov - 4.00-4 +- Fix ascii map of spd.c (#577469) + +* Fri Dec 25 2009 Robert Scheck - 4.00-3 +- Removed obsolete build requirement to compat-gcc-34 (#442285) + +* Tue Oct 13 2009 Jarod Wilson - 4.00-2 +- Fix memtest-setup on systems without a separate /boot + filesystem (#528651) + +* Tue Sep 29 2009 Jarod Wilson - 4.00-1 +- Update to new upstream release, v4.00 +- Drop gcc4.2+ patch, merged upstream + +* Mon Aug 17 2009 Jarod Wilson - 2.11-11 +- Fix runtime operation when built with gcc4.2+ (#442285) + +* Sat Jul 25 2009 Fedora Release Engineering - 2.11-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Apr 24 2009 Warren Togami - 2.11-9 +- Fix uninstall to remove stanza from grub.conf + +* Fri Apr 24 2009 Warren Togami - 2.11-8 +- Bug #494157 rename elf binary so it doesn't accidentally copy the elf binary + during livecd-creator +- Put scripts into CVS + +* Sun Apr 05 2009 Paulo Roma - 2.11-7 +- adapted the spec file for building the elf and + the bin versions #494157 + +* Thu Apr 02 2009 Paulo Roma - 2.11-6 +- grub.conf will not be updated by default. The user + will have to add and/or remove memtest86+ entries. +- No messages printed. + +* Tue Mar 31 2009 Paulo Roma - 2.11-5 +- Changed postun for preun. +- Calling memtest-setup in case of updating grub.conf + +* Wed Mar 11 2009 Paulo Roma - 2.11-4 +- Updated to 2.11 +- Patched for booting from grub. +- Using memtest (ELF) instead of memtest.bin +- Changed memtest-setup for writing the correct grub entry. +- Removed obsolete patch memtest86+-2.10-fixflags.patch +- Created option update grub.conf + +* Wed Feb 25 2009 Fedora Release Engineering - 2.11-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Nov 12 2008 Warren Togami - 2.10-1 +- 2.10 + +* Thu Apr 03 2008 Warren Togami - 2.01-3 +- Build with gcc34 for F9 (#437701) + +* Tue Mar 04 2008 Peter Jones - 2.01-2 +- Don't install memtest86+ in bootloader configs on EFI platforms. + +* Thu Feb 21 2008 Warren Togami - 2.01-1 +- 2.01 major bugfix release + +* Mon Feb 11 2008 Michal Schmidt - 2.00-2 +- forgot to cvs add the compilation patch. + +* Mon Feb 11 2008 Michal Schmidt - 2.00-1 +- New upstream release: 2.00. +- Dropped boot time console configuration patches (already upstream). +- Fixed compilation on x86_64. + +* Wed Oct 24 2007 Peter Jones - 1.70-4 +- Fix for mactel. + +* Thu Oct 18 2007 Warren Togami - 1.70-3 +- one more patch from mschmidt to allow configuration of parity and bits + +* Wed Oct 17 2007 Warren Togami - 1.70-2 +- mschmidt's boot time configuration of serial console (#319631) + +* Thu Feb 08 2007 Florian La Roche - 1.70-1 +- update to 1.70 + +* Sat Feb 03 2007 Warren Togami - 1.65-6 +- some spec cleanups (#226135) +- remove old Obsoletes + +* Wed Jul 12 2006 Jesse Keating - 1.65-4.1 +- rebuild + +* Tue Jun 27 2006 Florian La Roche - 1.65-4 +- make sure coreutils is installed for the preun script + +* Thu Jun 08 2006 Jesse Keating - 1.65-3 +- rebuilt for new buildsystem + +* Tue Feb 07 2006 Jesse Keating - 1.65-2.2 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Sat Oct 15 2005 Florian La Roche +- make sure 32bit glibc-devel is installed (#170614) + +* Sat Oct 01 2005 Warren Togami - 1.65-1 +- 1.65 + +* Wed Jun 29 2005 Warren Togami - 1.60-1 +- 1.60 + +* Mon Mar 28 2005 Warren Togami - 1.55.1-1 +- 1.55.1 fixes K8 + +* Sun Mar 27 2005 Warren Togami - 1.55-1 +- 1.55 + +* Wed Mar 16 2005 Elliot Lee +- rebuilt + +* Sat Feb 19 2005 Warren Togami - 1.51-1 +- 1.51 + +* Fri Jan 21 2005 Warren Togami - 1.50-1 +- 1.50 + +* Sun Nov 28 2004 Warren Togami - 1.40-1 +- 1.40 +- remove arch patch, now upstream + +* Tue Oct 26 2004 Warren Togami - 1.27-1 +- 1.27 + +* Mon Oct 25 2004 Jeremy Katz - 1.26-3 +- allow building on all x86 arches +- pass appropriate compiler options to build on x86_64 as well (#136939) + +* Thu Sep 02 2004 Warren Togami 1.26-1 +- update to 1.26 + +* Sat Aug 28 2004 Warren Togami 1.25-1 +- update to 1.25 + +* Mon Jun 28 2004 Warren Togami +- update to 1.20 + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Sun May 16 2004 Warren Togami 1.15-1 +- update to 1.15 + +* Sun Feb 29 2004 Warren Togami 1.11-2 +- switch to memtest86+ 1.11 +- add boot loader setup script + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Tue Oct 21 2003 Mike A. Harris 3.0-3 +- Pedantic spec file cleanups - s/Copyright/License/ and use _libdir instead of + /usr/lib everywhere (even though it's currently x86 only) + +* Tue Oct 21 2003 Jeremy Katz 3.0-2 +- fix perms (#107610) +- doesn't really require dev86 to build + +* Mon Jul 21 2003 Michael Fulbright +- initial integration into distribution. Removed the scripts to install a + entry in the boot loader for memtest for the moment, and relocated to under + /usr/lib. + +* Thu Apr 17 2003 Joe Szep +- rebuilt for Doolittle final + +* Mon Feb 3 2003 Matthew Miller +- rebuild for doolittle +- patches to make build -- new gcc growing pains, I guess + +* Tue Jul 30 2002 Matthew Miller +- added grubby stuff + +* Tue Jul 30 2002 Dave Heistand +- updated source to v 3 + +* Thu Mar 7 2002 Dave Heistand +- updated source to 2.9, also changed setup -n +- to use %%{version}. + +* Thu Nov 1 2001 Matthew Miller +- v 2.8a +- removed lilo-configuring scripts. need to figure out the best way to + work with grub and RH 7.2 / BU Linux 2.5 +- group -> System Environment/Base + +* Mon Aug 20 2001 Matthew Miller +- v 2.7 + +* Wed Feb 14 2001 Matthew Miller +- v 2.5 + +* Fri Oct 06 2000 Matthew Miller +- v 2.4 + +* Thu Mar 23 2000 Matthew Miller +- changed so that lilo.conf isn't written if it already exists. This is + important if you're including memtest86 in a distribution +- GPG key available from http://www.bu.edu/dsgsupport/linux/BULinux-GPG-KEY +- changed name of lilo.conf backup file to something less likely to conflict + with other backups + +* Wed Mar 01 2000 Matthew Miller +- Updated to version 2.2 +- Cosmetic changes to spec file +- updated Source: to reflect actual author's url + +* Fri Dec 25 1998 Peter Soos + +- Corrected the file attributes + +* Mon Aug 17 1998 Peter Soos + +- Moved to 1.4a + +* Mon Jun 22 1998 Peter Soos + +- Moved to 1.4 + +* Wed Dec 31 1997 Peter Soos + +- Initial version