CPUstress image major update

Discussion/announcements about test/beta releases of UBCD will be posted here.

Moderators: Icecube, StopSpazzing

Post Reply
Message
Author
Icecube
Posts: 1278
Joined: Fri Jan 11, 2008 2:52 pm
Contact:

CPUstress image major update

#1 Post by Icecube » Mon Jul 28, 2008 2:59 pm

Last update, see the this post: viewtopic.php?p=6643#6643

I have updated the CPUstress image.

Improvements compared with the boot disk of Adrian.


It now uses the kernel of Parted Magic (last kernel available), so it should support the last kind of processors.

Made an initrd of 12MiB, with 2.7 MiB free space, so other programs or scripts can be added easily. (gzipped size = 2.5 MiB)
Changed file system inside the initrd from minix to ext2, so it can be used in conjunction with the kernel of Parted Magic.

Contains an updated busybox executable:
  • BusyBox 1.11.1 (stable) --- 12 July 2008
    If you need a certain executable for a script and if you can't find it in this image, compile busybox yourself and select all the executables that you want.
Updated libc.so.6 to libc-2.7.so libm.so.6 to libm-2.7.so and ld-linux.so.2 to ld-2.7.so.

Added and rewrote the scripts and cleaned up the whole initrd.

Added a number of virtual consoles. Use '<Alt> + <Left/Right>' to switch to another virtual console. This is useful to run 'top' while a stress test is running. 'top' displays the CPU usage of all running applications. With this program you can see if all your CPUs are fully stressed.

Added a script called 'cpuinfo':
It grabs the info about the CPU(s), which is provided by the kernel.
  • CPU info will give you some info about your CPU:
    - number of processors
    - Vendor
    - CPU family
    - CPU model name
    - CPU speed
    - cache size
    - possible construction bugs of your CPU
    - which extensions (flags) your CPU supports
    - ...
Mersenne Prime Test V23.9/24.14:
  • * Let the user choose the version he wants. No automatic selection of the version of Mersenne Prime Test, based on the CPU model anymore.
    * Automaticly detect the number of CPUs and run as many instances as there are CPUs.
When you run the following in the terminal:
mprime ==> will prompt to ask which version should be used
mprime 23 ==> will run 'Mersenne Prime 23.9.2'
mprime 24 ==> will run 'Mersenne Prime 24.14.2'

If you want to run a specific version of mprime, when you boot the image, use:

KERNEL /pmagic/bzImage
APPEND initrd=/ubcd/boot/cpustres.gz root=/dev/ram0 ramdisk_size=13000
ubcdcmd=mprime23

This will start 'Mersenne Prime 23.9.2'.


KERNEL /pmagic/bzImage
APPEND initrd=/ubcd/boot/cpustres.gz root=/dev/ram0 ramdisk_size=13000
ubcdcmd=mprime24

This will start 'Mersenne Prime 24.14.2'.


KERNEL /pmagic/bzImage
APPEND initrd=/ubcd/boot/cpustres.gz root=/dev/ram0 ramdisk_size=13000
ubcdcmd=mprime

This will prompt to ask which version should be used.
Stress V1.00: Updated to V1.00

StressCPU2: Replaces StressCPU.

CPUburn v1.00:
Added a number of parameters to choose how long 'CPUburn-in' must be run.
Run the program with one command line value to specify the length of time to run the test:

eg.
"cpuburn 10" will run the test for ten minutes.


If you want to run cpuburn-in for a certain time, you can also add a parameter to the isolinux config file:

eg. Run cpuburn-in for 10 days.

KERNEL /pmagic/bzImage
APPEND initrd=/ubcd/boot/cpustres.gz root=/dev/ram0 ramdisk_size=13000
ubcdcmd=cpuburn days=10


eg. Run cpuburn-in for 10 hours.

KERNEL /pmagic/bzImage
APPEND initrd=/ubcd/boot/cpustres.gz root=/dev/ram0 ramdisk_size=13000
ubcdcmd=cpuburn hours=10


eg. Run cpuburn-in for 10 minutes.

KERNEL /pmagic/bzImage
APPEND initrd=/ubcd/boot/cpustres.gz root=/dev/ram0 ramdisk_size=13000
ubcdcmd=cpuburn minutes=10
Help:
Added a 'help' script which makes it easier to read the help text of
several executables.
e.g.: help ==> displays all programs
help cpuburn ==> displays info about cpuburn and how to use it.
The cpustress image has now support for a serial console.
I am not completely sure if it works, because I don't have a serial console.
Howto:

Code: Select all

 - Add serial=com1, serial=com2, serial=com3 or serial=com4 to the isolinux config file.
     KERNEL /pmagic/bzImage
     APPEND initrd=/ubcd/boot/cpustres.gz root=/dev/ram0 ramdisk_size=13000 serial=com1 ubcdcmd=stresscpu2
 - Make a directory (mkdir ./cpustress-initrd).
 - Mount the cpustress initrd image as root (sudo mount -o loop initrd ./cpustress-initrd).
 - Uncomment the appropriate line in /etc/inittab.
 - Unmount the initrd.
Solved a bug in the isolinux config file:
The APPEND command needs root=/dev/ram0, else the kernel crashed when you typed exit after the execution of a program.

Code: Select all

     APPEND initrd=/ubcd/boot/cpustres.gz root=/dev/ram0 ramdisk_size=13000 ubcdcmd=stresscpu2
Contents for in the isolinux config files:

Code: Select all

LABEL -
MENU LABEL CPU Burn-in V1.00
TEXT HELP
 Heats up any x86 CPU to the maximum possible operating temperature that is
 achievable by using ordinary software. This allows the user to adjust the CPU
 speed up to the practical maximum while still being sure that stability is
 achieved even under the most stressful conditions.
ENDTEXT
KERNEL /pmagic/bzImage
APPEND initrd=/ubcd/boot/cpustres.gz root=/dev/ram0 ramdisk_size=13000 ubcdcmd=cpuburn

LABEL -
MENU LABEL CPUinfo
TEXT HELP
 Gives info about your CPU: number of processors, vendor, CPU family, CPU model name, 
 CPU speed, cache size, possible construction bugs of your cpu, which extensions (flags)
 your CPU supports.
ENDTEXT
KERNEL /pmagic/bzImage
APPEND initrd=/ubcd/boot/cpustres.gz root=/dev/ram0 ramdisk_size=13000 ubcdcmd=cpuinfo

LABEL -
MENU LABEL StressCPU 2 (requires CPU with SSE)
TEXT HELP
 Torture-test your CPU in order to make sure that you don't have overheating
 problems. Requires SSE-equipped x86 CPUs. Executes a special version of the
 Gromacs innerloops that mixes SSE and normal assembly instructions to heat
 your CPU as much as possible.
ENDTEXT
KERNEL /pmagic/bzImage
APPEND initrd=/ubcd/boot/cpustres.gz root=/dev/ram0 ramdisk_size=13000 ubcdcmd=stresscpu2

LABEL -
MENU LABEL Mersenne Prime Test V23.9/24.14
TEXT HELP
 Mersenne Prime Search program that stresses the CPU.
ENDTEXT
KERNEL /pmagic/bzImage
APPEND initrd=/ubcd/boot/cpustres.gz root=/dev/ram0 ramdisk_size=13000 ubcdcmd=mprime

LABEL -
MENU LABEL Stress V1.00 - System Burn-In Test
TEXT HELP
 Simple workload generator for POSIX systems. It imposes a configurable amount
 of CPU, memory, I/O, and disk stress on the system. This menu item launches
 stress with the "--help" parameter that displays all possible options. You
 need to run it again with the stress test options that you prefer.
ENDTEXT
KERNEL /pmagic/bzImage
APPEND initrd=/ubcd/boot/cpustres.gz root=/dev/ram0 ramdisk_size=13000 ubcdcmd=stress

LABEL -
MENU LABEL Help for CPU stress image
TEXT HELP
 Displays help for the programs inside the CPU stress image
ENDTEXT
KERNEL /pmagic/bzImage
APPEND initrd=/ubcd/boot/cpustres.gz root=/dev/ram0 ramdisk_size=13000 ubcdcmd=help
Download the Parted Magic kernel if you don't have Parted Magic jet:
http://ubcd.110mb.com/download/cpustress/rev1/bzImage
Place it in /pmagic/.

Download the cpustres initrd:
http://ubcd.110mb.com/download/cpustres ... pustres.gz
For UBCD50: Place it in /ubcd/boot/. You can delete /ubcd/boot/cpustres (old kernel).
For UBCD411: Place it in /boot/. You can delete /boot/cpustres (old kernel).
You have to change initrd=/ubcd/boot/cpustres.gz to initrd=/boot/cpustres.gz in the above given isolinux config.

Remaster the CD.

Test it please.
Especially people, who had problems with the previous image.
viewtopic.php?t=925

Also test it if you have a dual core or a quad core, and see if all CPUs are detected. (Normally it should work, but just to be sure.)
Last edited by Icecube on Wed Feb 25, 2009 9:31 pm, edited 5 times in total.

as702
Posts: 276
Joined: Tue Jun 17, 2008 3:14 am

#2 Post by as702 » Tue Jul 29, 2008 11:19 am

nice work.

Victor Chew
Posts: 1368
Joined: Mon Feb 21, 2005 10:59 pm
Contact:

#3 Post by Victor Chew » Sun Aug 03, 2008 4:46 am

Excellent work. Thanks!

deadite
Posts: 15
Joined: Mon Aug 11, 2008 1:19 pm

#4 Post by deadite » Tue Aug 12, 2008 3:13 am

AMD Athlon 64 X2 Dual Core 4200+
2GB DDR 800Mhz

I downloaded your updated cpustres http://ubcd.110mb.com/download/cpustres ... pustres.gz, replaced \ubcd\boot\cpustres.gz, and updated \ubcd\menus\cpu.cfg with you code you posted (From an original UBCD50b4.iso)

Whenever I launch the CPUStress tests I get a Kernel Panic.

I also booted it on an AMD Athlon XP 2000+ with 256 PC2700 RAM without getting a kernel panic.

If you have anything specific you want me to test, let me know.

Icecube
Posts: 1278
Joined: Fri Jan 11, 2008 2:52 pm
Contact:

#5 Post by Icecube » Tue Aug 12, 2008 3:18 am

Download the Parted Magic kernel if you don't have Parted Magic jet:
http://ubcd.110mb.com/download/cpustress/rev1/bzImage
Place it in /pmagic/.
Rename bzImage to something else.

I have tested it with the kernel of Parted Magic 3.0 (ubcd5b4 is still 2.2 I think). Edit the cpu.cfg file. Change /pmagic/bzImage to the path that points to the kernel of Parted Magic 3.0, Else you can't start Parted Magic 2.2 from UBCD.

Can you give the exact message of the kernel panic?

Also download Parted Magic 3.0 and see if you get a kernel error.

Icecube
Posts: 1278
Joined: Fri Jan 11, 2008 2:52 pm
Contact:

#6 Post by Icecube » Sun Aug 17, 2008 11:44 pm

I need some help to cleanup the help files (correct sentences). (deadlite?)

Copy the text to a file first. (spaces are displayed to small a the forum)

1 line of text can be only 80 characters long. (cpuburn.txt needs <ENTER> command so that you don't get spaces at the beginning of a line)

EDIT: Removed help files from post, to keep the post shorter.

Problems discovered with the cpustress image so far (thanks to deadlite)
- wireless bluetooth keyboard doesn't work (usb keyboard probably also)
- need to add noapic to the APPEND line (I was already planning this ==> copying the fail save option of Parted Magic)
- grammatical errors (needs correcting ==> see text files above)

@deadlite
I found the difference between, noapic and acpi=off.
http://www.linuxquestions.org/questions/linux-software-2/difference-between-noapic-and-acpioff-kernel-parameters-454675/ wrote:ACPI = Advanced Configuration and Power Interface

APIC = Advanced Programmable Interrupt Controllers

ACPI is the system that controls your dynamic speed fans, the power button behavior, sleep states, ect.

APIC is the replacement for the old PIC chip that used to come imbedded on motherboards that allowed you to setup interrupts for your soundcard, ide controllers, ect.

In general I'd leave the APIC settings alone. It has been some time since I've had a problem related to that.

However, many computers ship with buggy or out of spec. ACPI firmware which can cause any number of wackiness. If you are noticing your machine randomly powering off or failing to boot disabling this often helps.
Next release:
- Add varable cmdline= to the isolinux config file to launch stress with parameters (no display of the help message). This can be usefull for people who edit ubcd and want to launch stress with certain parameters without the need of typing them when the cpustress is already booted.
- Add fail save options to the isolinux config files (noapic, ...)
- Remove mprime V23.?
- Try to solve the keyboard problem.
- Add a short delay when booting cpustress image so the following text can always been read:
CPU stress test boot disk by Gert Hulselmans.
Based on the CPU stress test boot disk of Adrian Stanciu <adrian@sadyc.net>.

To reboot, press: '<Ctrl> + <Alt> + <Del>'
To quit a program, press: '<Ctrl> + C'
to switch to another virtual terminal, press: '<Alt> + <Left/Right>'
Last edited by Icecube on Mon Nov 24, 2008 2:55 pm, edited 1 time in total.

deadite
Posts: 15
Joined: Mon Aug 11, 2008 1:19 pm

#7 Post by deadite » Mon Aug 18, 2008 12:13 pm

Icecube,

I made some corrections in the 4 text files you posted

Code: Select all

CPU Burn-in README
------------------

What is CPU Burn-in?
-------------------

CPU Burn-in v1.0 by Michal Mienik is the ultimate stability testing tool for overclockers. The program heats up any x86 CPU to the maximum possible operating temperature that is achievable by using ordinary software.  This allows the user to adjust the CPU speed up to the practical maximum while still being sure that stability is achieved even under the most stressful conditions. The program continuously monitors for erroneous calculations ensuring the CPU does not generate errors during calculations.

Note from Gert Hulselmans: 'cpuburn' is a wrapper that automaticly detects the number of CPUs so they can be stressed all at the same time. It will run an instance of 'cpuburn-in' for each CPU in order to heat all CPUs up at the same time.

Why use CPU Burn-in?
-------------------

In the past overclocking stability was tested by running intensive software such as Distributed.Net clients or SETI@home.  Running either piece of software for 24 hours would generally show up instability. A looping Quake3 timedemo was also a good choice.

However, there are inherent limitations in these tests:

Not every error caused by overclocking causes a program to crash or the system to hang. Some errors may be more subtle, such as a slight miscalculation. If such an event occurs and causes a pixel to render a slightly different colour in Quake3 for example, the user is unlikely to notice and overall this is no big deal. However such small errors can have a potentially devastating on distributed projects such as SETI@home, which rely on the reliable processing of data.

CPU Burn-in consistently delivers a higher CPU operating temperature than the above mentioned  applications.  This allows CPU Burn-in to be particularly effective at testing overclocking stability
and cooling effectiveness.

How does it work?
----------------

CPU Burn-in constantly cycles FPU intensive functions for a user specified period of time. The resultant calculations are constantly checked for data integrity.  If the program detects erroneous data the user is immediately informed.  Applications such as SETI@home and Distributed.Net perform no such data checking.  The user must rely on those programs to crash or the system to hang before a problem can be noticed.

Instructions:
------------

Please Note: Overclocking can potentially be harmful to your CPU.  It may fry or fail prematurely in the long term.  I cannot and will not be responsible for any damage you do to your hardware. By it's very nature, CPU Burn-in pushes the CPU to the max.  Increasing the voltage, Mhz, or PCI/AGP above the recommended levels can cause damage.

CPU Burn-in runs best as a high priority process on an otherwise idle system.



Run the program with one command line value to specify the length of time to run the test:

eg.
   "cpuburn 10"    will run the test for ten minutes.


If you want to run cpuburn-in for a certain time, you can also add a parameter to the isolinux config file:

eg. Run cpuburn-in for 10 days.

     KERNEL /pmagic/bzImage
     APPEND initrd=/ubcd/boot/cpustres.gz root=/dev/ram0 ramdisk_size=13000
            ubcdcmd=cpuburn days=10


eg. Run cpuburn-in for 10 hours.

     KERNEL /pmagic/bzImage
     APPEND initrd=/ubcd/boot/cpustres.gz root=/dev/ram0 ramdisk_size=13000
            ubcdcmd=cpuburn hours=10


eg. Run cpuburn-in for 10 minutes.

     KERNEL /pmagic/bzImage
     APPEND initrd=/ubcd/boot/cpustres.gz root=/dev/ram0 ramdisk_size=13000
            ubcdcmd=cpuburn minutes=10


If those parameters are all provided to the APPEND command of the isolinux config, the run time will be determined by the first value of the time duration which will be searched in the following order: days > hours > minutes.
So if 'minutes=100000000' and 'days=10' is found, the run time will be set to 14400 minutes (= 10 days).


If cpuburn is called without parameters, it will run cpuburn-in for 10080 minutes (= 7 days).


Contact:
-------
   
If your system experiences instability during the burn-in test or you receive error messages it's likely
the system has been overclocked too far.

If you believe a bug in the program has been found please email cluster2k@hotmail.com

Code: Select all

                 ============
                 | CPU info |
                 ============

          Written by Gert Hulselmans
                on 25 July 2008

CPU info will give you some info about your CPU:
 - number of processors
 - Vendor
 - CPU family
 - CPU model name
 - CPU speed
 - cache size
 - possible construction bugs of your CPU
 - which flags your CPU supports
 - ...

An example from my dual core PC:

processor   : 0
vendor_id   : AuthenticAMD
cpu family   : 15
model      : 107
model name   : AMD Athlon(tm) 64 X2 Dual Core Processor 5000+
stepping   : 1
cpu MHz      : 1000.000
cache size   : 512 KB
physical id   : 0
siblings   : 2
core id      : 0
cpu cores   : 2
fdiv_bug   : no
hlt_bug      : no
f00f_bug   : no
coma_bug   : no
fpu      : yes
fpu_exception   : yes
cpuid level   : 1
wp      : yes
flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch ts fid vid ttp tm stc 100mhzsteps
bogomips   : 2062.54
clflush size   : 64

processor   : 1
vendor_id   : AuthenticAMD
cpu family   : 15
model      : 107
model name   : AMD Athlon(tm) 64 X2 Dual Core Processor 5000+
stepping   : 1
cpu MHz      : 1000.000
cache size   : 512 KB
physical id   : 0
siblings   : 2
core id      : 1
cpu cores   : 2
fdiv_bug   : no
hlt_bug      : no
f00f_bug   : no
coma_bug   : no
fpu      : yes
fpu_exception   : yes
cpuid level   : 1
wp      : yes
flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch ts fid vid ttp tm stc 100mhzsteps
bogomips   : 2062.54
clflush size   : 64

Code: Select all

Help: wrapper for the Mersenne Prime Torture test (mprime)
==========================================================

Written by Gert Hulselmans on 28 July 2008.
'mprime' is a wrapper that automaticly detects the number of CPUs so they can be 
stressed all at the same time. It will run an instance of 'mprime' for each 
CPU in order to heat all CPUs up at the same time. You can do this by running
the background option (-bn with n= number of processes). However, this option
does not display any output on the screen. This can be solved by running several 
instances of mprime with the background (&) option of the shell. This method 
displays the output of the multiple instances of mprime.

This wrapper avoids specifying the working directory part (-W) and the torure
(-t) option of the command 'mprime -t -W/tmp/torture-test/torture.XXXXXX',
so the user can run 'mprime' from a terminal without worrying which parameters
to add to use the torture test of Mersenne Prime Test.

Code: Select all

Stress
******

* Menu:

* Overview::                    Overview of `stress'.
* Invoking stress::             How to run `stress'.
* Examples::                    Some example invocations.
* Copying This Manual::
* Index::

1 Overview of `stress'
**********************

`stress' is not a benchmark, but is rather a tool designed to put given
subsytems under a specified load.  Instances in which this is useful
include those in which a system administrator wishes to perform tuning
activities, a kernel or libc programmer wishes to evaluate denial of
service possibilities, etc.

2 Invoking stress
*****************

The format for running the `stress' program is:

     `stress' [OPTION [ARGS]] ...

   `stress' supports the following options:

`-?'
`--help'
     Show help information.

`--version'
     Show version information.

`-v'
`--verbose'
     Turn up verbosity.

`-q'
`--quiet'
     Turn down verbosity.

`-n'
`--dry-run'
     Show what would have been done.

`-t SECS'
`--timeout SECS'
     Time out after SECS seconds.

`--backoff USECS'
     Wait for factor of USECS microseconds before starting work.

`-c FORKS'
`--cpu FORKS'
     Spawn FORKS processes each spinning on `sqrt()'.

`-i FORKS'
`--io FORKS'
     Spawn FORKS processes each spinning on `sync()'.

`-m FORKS'
`--vm FORKS'
     Spawn FORKS processes each spinning on `malloc()'.

`-m FORKS'
`--vm FORKS'
     Spawn FORKS processes each spinning on `malloc()'.

`--vm-bytes BYTES'
     Allocate BYTES number of bytes.  The default is 1.

`--vm-hang'
     Instruct each vm hog process to go to sleep after allocating
     memory.  This contrasts with their normal behavior, which is to
     free the memory and reallocate _ad infinitum_.  This is useful for
     simulating low memory conditions on a machine.  For example, the
     following command allocates 256M of RAM and holds it until killed.

          % stress --vm 2 --vm-bytes 128M --vm-hang

NOTE: Don't use the following options!
      This cpustress image doesn't support writing to a disk.
      If you want to to stress the hard disk also, boot into windows and
      download Stress v1.01 or use a real linux distribution (e.g. Parted
      Magic) and run it from there.
`-d FORKS'
`--hdd FORKS'
     Spawn FORKS processes each spinning on `write()'.

`--hdd-bytes BYTES'
     Write BYTES number of bytes.  The default is 1GB.

`--hdd-noclean'
     Do not unlink file(s) to which random ASCII data is written.


   Note: Suffixes may be s,m,h,d,y (time) or k,m,g (size).

3 Example invocations
*********************

The simple case is that you just want to bring the system load average
up to an arbitrary value.  The following forks 13 processes, each of
which spins in a tight loop calculating the sqrt() of a random number
acquired with rand().

   % `stress -c 13'

   Long options are supported, as well as is making the output less
verbose.  The following forks 1024 processes, and only reports error
messages if any.

   % `stress --quiet --cpu 1k'

   To see how your system performs when it is I/O bound, use the -i
switch.  The following forks 4 processes, each of which spins in a
tight loop calling sync(), which is a system call that flushes memory
buffers to disk.

   % `stress -i 4'

   Multiple hogs may be combined on the same command line.  The
following does everything the preceding examples did in one command,
but also turns up the verbosity level as well as showing how to cause
the command to self-terminate after 1 minute.

   % `stress -c 13 -i 4 --verbose --timeout 1m'


NOTE: Don't use the following options!
      This cpustress image doesn't support writing to a disk.
      If you want to to stress the hard disk also, boot into windows and
      download Stress v1.01 or use a real linux distribution (e.g. Parted
      Magic) and run it from there.

   You can write a file of arbitrary length to disk.  The file is
created with mkstemp() in the current directory, the default is to
unlink it, but unlinking can be overridden with the -hdd-noclean flag.

   % `stress -d 1 --hdd-noclean --hdd-bytes 13'

   Large file support is enabled.

   % `stress -d 1 --hdd-noclean --hdd-bytes 3G'

Appendix A Copying This Manual
******************************

You may copy this manual under the terms of the GNU General Public
License. 

Icecube
Posts: 1278
Joined: Fri Jan 11, 2008 2:52 pm
Contact:

#8 Post by Icecube » Tue Aug 19, 2008 2:07 am

@ deadlite: Thanks.

Icecube
Posts: 1278
Joined: Fri Jan 11, 2008 2:52 pm
Contact:

CPU stress image v2

#9 Post by Icecube » Wed Nov 19, 2008 7:37 am

CPU stress image v2

I have compiled a new kernel (v2.6.27) with the help of Patrick Verner (author of Parted Magic). It is pretty small (<1MiB). All keyboards should work now.

Busybox is upgraded to 1.13.1.

Added a cmdhelpinfo parameter, so you can specify at the isolinux commandline for which program you want to display the help text. See the README.txt for more details.

Added a cmdstress parameter, so you can specify at the isolinux commandline which parameters you want to pass to the stress program. See the README.txt and the help of stress for more details.

I have added noapic to the APPEND line, to solve the problem, that the cpustress image wasn't bootable on certain hardware.

I added a delay of 30 seconds after displaying the following text, so that there is time enough to read the text (if you press any key, it will continue booting without waiting 30 seconds).

Image


I have also added a menu: type 'menu' inside the terminal to run it.

Image

If you see the following in the README.txt:

Code: Select all

     APPEND initrd=/ubcd/boot/cpustres/initrd.gz root=/dev/ram0
            ramdisk_size=12000 noapic ubcdcmd=
you have to put it on 1 line, like this:

Code: Select all

     APPEND initrd=/ubcd/boot/cpustres/initrd.gz root=/dev/ram0 ramdisk_size=12000 noapic ubcdcmd=
Content of the README.txt:

Code: Select all

CPUstress image - version 2:
============================

Made by Gert Hulselmans.

Released under the GNU General Public License, version 2.

Last edited on 2 December 2008.

Content of this package:
_________________________

./build.tar		==> tar archive that contains the files that you need to rebuild the image and the kernel

./bzImage		==> kernel image

./gpl-2.0.txt		==> GNU General Public License, version 2

./help/			==> contains help texts for some programs (also available in the image itself)

./initrd.gz		==> initrd

./README.txt		==> this readme file


Content of the ./build.tar archive:
____________________________________

./busybox-config/
	.config		==> configfile to configure busybox

./cpustress_build/	==> contains all files which will be packed in the initrd

./kernel-config/
	.config		==> configfile to configure the kernel

./mnt/			==> directory where the initrd image gets mounted while building

./build			==> build script to build the image


How to start?
_____________


Copy bzImage and initrd.gz to ./ubcd/boot/cpustres/ of your extracted UBCD iso.
(Don't use 'cpustress', isolinux only can handle 8 + 3  character filenames!)

Windows:
--------

e.g.: If you have extracted UBCD to c:\ubcd-extract\, this place is:
      c:\ubcd-extract\ubcd\boot\cpustres\

Linux:
------

e.g.: If you have extracted UBCD to ~/ubcd-extract/, this place is:
      ~/ubcd-extract/ubcd/boot/cpustres/


How to edit the CPUstress image?
________________________________

Unpack the cpustress-2.7z archive (you probably already did this, else you couln't read this README.
$ mkdir cpustress-v2
$ cd cpustress-v2
$ 7z x "./path/to/file/cpustress-v2.7z"

extract the ./build tar archive
$ tar xvf build.tar

Become root (use 'su root' to become root or prefix the following commands with 'sudo') and execute
the following commands as root to create the necessary device nodes.

$ mknod ./cpustress_build/dev/console c 4 0
$ mknod ./cpustress_build/dev/null c 1 3
$ mknod ./cpustress_build/dev/ram0 b 1 0

Now you can edit the files in ./cpustress_build/ and remaster the initrd.gz with the ./build script.
You have to run the ./build script as root user or with sudo.

./cpustress_build/usr/local/bin/ (/usr/local/bin/ directory in the image) contains the cpustress
specific programs, like cpuburn, cpuinfo, helpinfo, menu, mprime, stress and stresscpu2.

./cpustress_build/opt/ (/opt/ directory in the image) directory contains some help files and some
cpustress specific programs.


Contents of the isolinux config files:
______________________________________

  ############################################################
  # REMARK: All APPEND stuff should be on 1 line.            #
  #         For readability reasons it is placed on 2 lines. #
  ############################################################

CPU Burn-in v1.00: cpuburn
------------------

Run cpuburn without time parameter (it will run cpuburn-in for 10080
minutes (= 7 days)).

     KERNEL /ubcd/boot/cpustres/bzImage
     APPEND initrd=/ubcd/boot/cpustres/initrd.gz root=/dev/ram0
            ramdisk_size=12000 noapic ubcdcmd=cpuburn

Run cpuburn with a time parameter:

  eg. Run cpuburn for 10 days.

     KERNEL /ubcd/boot/cpustres/bzImage
     APPEND initrd=/ubcd/boot/cpustres/initrd.gz root=/dev/ram0
            ramdisk_size=12000 noapic ubcdcmd=cpuburn days=10

  eg. Run cpuburn for 10 hours.

     KERNEL /ubcd/boot/cpustres/bzImage
     APPEND initrd=/ubcd/boot/cpustres/initrd.gz root=/dev/ram0
            ramdisk_size=12000 noapic ubcdcmd=cpuburn hours=10

  eg. Run cpuburn for 10 minutes.

     KERNEL /ubcd/boot/cpustres/bzImage
     APPEND initrd=/ubcd/boot/cpustres/initrd.gz root=/dev/ram0
            ramdisk_size=12000 noapic ubcdcmd=cpuburn minutes=10


If those parameters are all provided to the APPEND command of the isolinux
config, the run time will be determined by the first value of the time duration
which will be searched in the following order: days > hours > minutes.
So if 'minutes=100000000' and 'days=10' is found, the run time will be set to
14400 minutes (= 10 days).


CPUinfo v1.00: cpuinfo
--------------

The following isolinux entry will run CPUinfo:

     KERNEL /ubcd/boot/cpustres/bzImage
     APPEND initrd=/ubcd/boot/cpustres/initrd.gz root=/dev/ram0
            ramdisk_size=12000 noapic ubcdcmd=cpuinfo


Helpinfo: helpinfo
---------

The following isolinux entry will run Helpinfo:

    KERNEL /ubcd/boot/cpustres/bzImage
    APPEND initrd=/ubcd/boot/cpustres/initrd.gz root=/dev/ram0
           ramdisk_size=12000 noapic ubcdcmd=helpinfo


The following isolinux entry will run Helpinfo for cpuburn:

    KERNEL /ubcd/boot/cpustres/bzImage
    APPEND initrd=/ubcd/boot/cpustres/initrd.gz root=/dev/ram0
           ramdisk_size=12000 noapic ubcdcmd=helpinfo cmdhelpinfo=cpuburn

You can change the cmdhelpinfo parameter to:
    - cpuburn
    - cpuinfo
    - helpinfo
    - mprime
    - stress
    - stresscpu2

Menu: menu
-----

The following isolinux entry will display the menu.

    KERNEL /ubcd/boot/cpustres/bzImage
    APPEND initrd=/ubcd/boot/cpustres/initrd.gz root=/dev/ram0
           ramdisk_size=12000 noapic ubcdcmd=menu

Mersenne Prime Torture test: mprime
----------------------------

The following isolinux entry will prompt to ask which version of mprime you want to run.

    KERNEL /ubcd/boot/cpustres/bzImage
    APPEND initrd=/ubcd/boot/cpustres/initrd.gz root=/dev/ram0
           ramdisk_size=12000 noapic ubcdcmd=mprime

If you want to run a specific version of mprime, when you boot the image, use:

    KERNEL /ubcd/boot/cpustres/bzImage
    APPEND initrd=/ubcd/boot/cpustres/initrd.gz root=/dev/ram0
           ramdisk_size=12000 noapic ubcdcmd=mprime23

      This will start 'Mersenne Prime 23.5.2'.

    KERNEL /ubcd/boot/cpustres/bzImage
    APPEND initrd=/ubcd/boot/cpustres/initrd.gz root=/dev/ram0
           ramdisk_size=12000 noapic ubcdcmd=mprime24

      This will start 'Mersenne Prime 24.14.2'.


Stress v1.0.0: stress
--------------

The following isolinux entry will run stress (will display the help text).

    KERNEL /ubcd/boot/cpustres/bzImage
    APPEND initrd=/ubcd/boot/cpustres/initrd.gz root=/dev/ram0
           ramdisk_size=12000 noapic ubcdcmd=stress

If you want to run a stress with specific parameters, when you boot the image,
use something similar to:

    KERNEL /ubcd/boot/cpustres/bzImage
    APPEND initrd=/ubcd/boot/cpustres/initrd.gz root=/dev/ram0
           ramdisk_size=12000 noapic ubcdcmd=stress cmdstress="--quiet -c 1k"

The cmdstress parameter contains the options that you want to pass to stress.


CPU stress tester 2.0: stresscpu2
----------------------

The following isolinux entry will run stresscpu2 (will display the help text).

    KERNEL /ubcd/boot/cpustres/bzImage
    APPEND initrd=/ubcd/boot/cpustres/initrd.gz root=/dev/ram0
           ramdisk_size=12000 noapic ubcdcmd=stresscpu2

Thanks:
_______

Thanks go to the following persons:

* deadite:        for testing my first cpustress image, for revealing the booting problem
                  on some machines, for revealing that USB and wireless keyboards didn't work
                  with the first version and for correcting the help files.
* StopSpazzing:   for testing the second version of my cpustress image with an USB keyboard.
* Patrick Verner: for compiling a minimal kernel that enables support for USB and wireless
                  keyboards and for solving some other problems that I had.
* alm:            for discovering the 'FATAL ERROR: Writing to temp file' bug with mprime.

Contact:
________

http://www.ultimatebootcd.com/forums/viewtopic.php?t=1476
Ask for Icecube ;-).

Some additional help: run 'helpinfo' inside the cpustress image to show it.

Code: Select all

'helpinfo' displays the help text in such a way so that you can easily navigate
through it.

Use '<SPACE>', '<PageUp>', '<PageDown>', '<Up>' and '<Down>' to navigate
through the text. Press 'q' to quit 'helpinfo'.


Some general commands for all programs:
                            To reboot, press: '<Ctrl> + <Alt> + <Del>'
                    To quit a program, press: '<Ctrl> + C' or 'q'
To switch to another virtual terminal, press: '<Alt> + <Left/Right>'


'top' is usefull program to see the percentage of processing power used by a
specific program. When you run a CPU stress test, you will see that the 
total persentage of the processing power is 100%.
    To quit 'top', you have to press 'q' or '<Ctrl> + C'. 


By typing 'menu' at the terminal window, you will get a menu from which you can select the following programs:
	- CPU Burn-in v1.00       (cpuburn)
	- CPUinfo v1.00           (cpuinfo)
	- Helpinfo                (helpinfo)
	- Mersenne Prime v23.5.2  (mprime 23)
	- Mersenne Prime v24.14.2 (mprime 24)
	- Stress v1.0.0           (stress)
	- CPU stress tester 2.0   (stresscpu2)



Help is available for the following executables:
  * CPU stress and info tools:
	- CPU Burn-in v1.00       (cpuburn)
	- CPUinfo v1.00           (cpuinfo)
	- Helpinfo                (helpinfo)
	- Mersenne Prime          (mprime)
	- Stress v1.0.0           (stress)
	- CPU stress tester 2.0   (stresscpu2)


    If you want help for 'CPU Burn-in v1.00'.
    Run 'helpinfo cpuburn' in the terminal.
Download location:
http://ubcd.partedmagic.com/downloads/c ... ress-v2.7z
Unpack it with 7zip, winrar, ...

You can check if the file is downloaded correctly with the md5 hash:
http://ubcd.partedmagic.com/downloads/c ... md5sum.txt

* For UBCD50: Place bzImage and initrd.gz in /ubcd/boot/cpustres/. You can delete /ubcd/boot/cpustres (old kernel).

* For UBCD411: Place bzImage and initrd.gz in /boot/cpustres.
  • You have to change /ubcd/boot/cpustres/bzImage to /boot/cpustres/bzImage and initrd=/ubcd/boot/cpustres/initrd.gz to initrd=/boot/cpustres/initrd.gz in the above given isolinux config examples.
@ Victor:
Set the standard mprime version to Mersenne Prime v24.14.2.

Code: Select all

    KERNEL /ubcd/boot/cpustres/bzImage
    APPEND initrd=/ubcd/boot/cpustres/initrd.gz root=/dev/ram0
           ramdisk_size=12000 noapic ubcdcmd=mprime24
Mention the 'cmdstress=' option for 'stress' in the help text for stress.
The 'helpinfo' and 'menu' don't necessarily need an entry in the isolinux config file. I added it in the hope that it would be useful for somebody.

Big thanks, go to Patrick Verner, for compiling a minimal kernel and helping me solve some problems with the CPUimage..

Also thanks to StopSpazzing for testing the image with an USB keyboard.
Last edited by Icecube on Tue Dec 02, 2008 1:59 pm, edited 2 times in total.

alm
Posts: 14
Joined: Mon Mar 27, 2006 4:30 pm

#10 Post by alm » Thu Nov 27, 2008 3:28 pm

mprime appears to be broken for me in this version. It prints 'Starting instance {1..2} of mprime(...)'. Then it appears to do nothing for about ten seconds. Then one instance of mprime is launched, which aborts after a few seconds with FATAL ERROR: Writing to temp file. This message is correctly written to results.txt. No second instance of mprime is ever launched.

The image works fine with StressCPU. mprime used to work with the previous version on this box (I think it was the one included with UBCD 5.0b5). This is a fairly recent Athlon X2 with 4GB RAM.

Icecube
Posts: 1278
Joined: Fri Jan 11, 2008 2:52 pm
Contact:

#11 Post by Icecube » Tue Dec 02, 2008 2:09 pm

Solved some bugs:
Mprime and CPUburn should work correctly with multicore CPUs ( 'Starting instance {1..2} of mprime' is corrected to 'Starting instance 1 of mprime' for the first instance of mprime and 'Starting instance 2 of mprime' for the second instance of mprime, etc.)

Corrected the 'FATAL ERROR: Writing to temp file' bug with mprime.

Updated busybox to 1.13.1.


Download location:
http://ubcd.partedmagic.com/downloads/c ... ress-v2.7z
Unpack it with 7zip, winrar, ...

You can check if the file is downloaded correctly with the md5 hash:
http://ubcd.partedmagic.com/downloads/c ... md5sum.txt

I have updated my previous post to keep all info together.

Icecube
Posts: 1278
Joined: Fri Jan 11, 2008 2:52 pm
Contact:

CPUstress image v2.1

#12 Post by Icecube » Wed Feb 25, 2009 9:30 pm

CPUstress image v2.1
  • * Updated kernel to v2.6.28.7
    * Updated busybox to v1.13.2

    * Corrected the 'FATAL ERROR: Writing to temp file' bug with mprime AGAIN.
    It should work now with a 'infinite' number of CPUs, as long as you have enough RAM. It makes a temp directory with a size of 1/8 of your RAM. So mprime shouldn't complain with multi-core CPUS, unless you have a quad core with only 128MB of RAM, which is very unlikely :P.
    * Display a countdown timer on the first screen.
    * Changed the colors of colored text.
    * Some cleanup of the code.
Download CPUstress image v2.1 from: http://ubcd.partedmagic.com/downloads/c ... ss-v2.1.7z
md5sum checksum: http://ubcd.partedmagic.com/downloads/c ... md5sum.txt
Download Ultimate Boot CD v5.0: http://www.ultimatebootcd.com/download.html
Use Parted Magic for handling all partitioning task: http://partedmagic.com/

Post Reply