upload source
authorKim Kibum <kb0929.kim@samsung.com>
Thu, 23 Aug 2012 11:37:45 +0000 (20:37 +0900)
committerKim Kibum <kb0929.kim@samsung.com>
Thu, 23 Aug 2012 11:37:45 +0000 (20:37 +0900)
112 files changed:
COPYING
ChangeLog [new file with mode: 0644]
INSTALL [new file with mode: 0644]
Makefile
README
README.logger [new file with mode: 0644]
TODO [new file with mode: 0644]
bootchart.c [deleted file]
bootchart.h [deleted file]
bootchartd [new file with mode: 0755]
bootchartd.conf [new file with mode: 0755]
bootchartd.conf.example [deleted file]
build.xml [new file with mode: 0644]
config.guess [new file with mode: 0644]
config.sub [new file with mode: 0644]
configure-stamp [new file with mode: 0644]
debian/bootchart-0.9.install.in [new file with mode: 0644]
debian/changelog [new file with mode: 0644]
debian/compat [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/dirs [new file with mode: 0644]
debian/docs [new file with mode: 0644]
debian/rules [new file with mode: 0755]
examples/bootchart.tgz [new file with mode: 0644]
examples/header [new file with mode: 0644]
examples/kernel_pacct [new file with mode: 0644]
examples/proc_diskstats.log [new file with mode: 0644]
examples/proc_ps.log [new file with mode: 0644]
examples/proc_stat.log [new file with mode: 0644]
install.sh [new file with mode: 0755]
lib/LICENSE.cli.txt [new file with mode: 0644]
lib/LICENSE.compress.txt [new file with mode: 0644]
lib/LICENSE.epsgraphics.txt [new file with mode: 0644]
lib/NOTICE.txt [new file with mode: 0644]
lib/org/apache/commons/cli/AlreadySelectedException.java [new file with mode: 0644]
lib/org/apache/commons/cli/BasicParser.java [new file with mode: 0644]
lib/org/apache/commons/cli/CommandLine.java [new file with mode: 0644]
lib/org/apache/commons/cli/CommandLineParser.java [new file with mode: 0644]
lib/org/apache/commons/cli/GnuParser.java [new file with mode: 0644]
lib/org/apache/commons/cli/HelpFormatter.java [new file with mode: 0644]
lib/org/apache/commons/cli/MissingArgumentException.java [new file with mode: 0644]
lib/org/apache/commons/cli/MissingOptionException.java [new file with mode: 0644]
lib/org/apache/commons/cli/Option.java [new file with mode: 0644]
lib/org/apache/commons/cli/OptionBuilder.java [new file with mode: 0644]
lib/org/apache/commons/cli/OptionGroup.java [new file with mode: 0644]
lib/org/apache/commons/cli/Options.java [new file with mode: 0644]
lib/org/apache/commons/cli/ParseException.java [new file with mode: 0644]
lib/org/apache/commons/cli/Parser.java [new file with mode: 0644]
lib/org/apache/commons/cli/PatternOptionBuilder.java [new file with mode: 0644]
lib/org/apache/commons/cli/PosixParser.java [new file with mode: 0644]
lib/org/apache/commons/cli/TypeHandler.java [new file with mode: 0644]
lib/org/apache/commons/cli/UnrecognizedOptionException.java [new file with mode: 0644]
lib/org/apache/commons/cli/overview.html [new file with mode: 0644]
lib/org/apache/commons/cli/package.html [new file with mode: 0644]
lib/org/apache/commons/compress/tar/TarBuffer.java [new file with mode: 0644]
lib/org/apache/commons/compress/tar/TarConstants.java [new file with mode: 0644]
lib/org/apache/commons/compress/tar/TarEntry.java [new file with mode: 0644]
lib/org/apache/commons/compress/tar/TarInputStream.java [new file with mode: 0644]
lib/org/apache/commons/compress/tar/TarOutputStream.java [new file with mode: 0644]
lib/org/apache/commons/compress/tar/TarUtils.java [new file with mode: 0644]
lib/org/apache/commons/lang/NumberUtils.java [new file with mode: 0644]
lib/org/jibble/epsgraphics/EpsDocument.java [new file with mode: 0644]
lib/org/jibble/epsgraphics/EpsException.java [new file with mode: 0644]
lib/org/jibble/epsgraphics/EpsGraphics2D.java [new file with mode: 0644]
log.c [deleted file]
package/bootchart.spec [new file with mode: 0644]
packaging/bootchart.changes [deleted file]
packaging/bootchart.manifest [deleted file]
packaging/bootchart.spec
script/bootchart [new file with mode: 0755]
script/bootchartd [new file with mode: 0755]
script/bootchartd.conf [new file with mode: 0644]
src/org/bootchart/Main.java [new file with mode: 0644]
src/org/bootchart/common/BootStats.java [new file with mode: 0644]
src/org/bootchart/common/CPUSample.java [new file with mode: 0644]
src/org/bootchart/common/Common.java [new file with mode: 0644]
src/org/bootchart/common/DiskTPutSample.java [new file with mode: 0644]
src/org/bootchart/common/DiskUtilSample.java [new file with mode: 0644]
src/org/bootchart/common/FileOpenSample.java [new file with mode: 0644]
src/org/bootchart/common/Process.java [new file with mode: 0644]
src/org/bootchart/common/ProcessSample.java [new file with mode: 0644]
src/org/bootchart/common/ProcessTree.java [new file with mode: 0644]
src/org/bootchart/common/PsStats.java [new file with mode: 0644]
src/org/bootchart/common/Sample.java [new file with mode: 0644]
src/org/bootchart/common/Stats.java [new file with mode: 0644]
src/org/bootchart/common/package.html [new file with mode: 0644]
src/org/bootchart/package.html [new file with mode: 0644]
src/org/bootchart/parser/HeaderParser.java [new file with mode: 0644]
src/org/bootchart/parser/linux/PacctParser.java [new file with mode: 0644]
src/org/bootchart/parser/linux/PidNameParser.java [new file with mode: 0644]
src/org/bootchart/parser/linux/ProcDiskStatParser.java [new file with mode: 0644]
src/org/bootchart/parser/linux/ProcPsParser.java [new file with mode: 0644]
src/org/bootchart/parser/linux/ProcStatParser.java [new file with mode: 0644]
src/org/bootchart/parser/linux/PsParser.java [new file with mode: 0644]
src/org/bootchart/parser/linux/package.html [new file with mode: 0644]
src/org/bootchart/parser/package.html [new file with mode: 0644]
src/org/bootchart/renderer/CSSInliner.java [new file with mode: 0644]
src/org/bootchart/renderer/EPSRenderer.java [new file with mode: 0644]
src/org/bootchart/renderer/ImageRenderer.java [new file with mode: 0644]
src/org/bootchart/renderer/PNGRenderer.java [new file with mode: 0644]
src/org/bootchart/renderer/Renderer.java [new file with mode: 0644]
src/org/bootchart/renderer/SVGRenderer.java [new file with mode: 0644]
src/org/bootchart/renderer/package.html [new file with mode: 0644]
src/org/bootchart/servlet/RenderServlet.java [new file with mode: 0644]
src/org/bootchart/servlet/package.html [new file with mode: 0644]
src/overview.html [new file with mode: 0644]
svg.c [deleted file]
svg/bootchart.svg.template [new file with mode: 0644]
svg/process.svg.template [new file with mode: 0644]
svg/style.css [new file with mode: 0644]
uninstall.sh [new file with mode: 0755]

diff --git a/COPYING b/COPYING
index 10828e0..5b6e7c6 100644 (file)
--- a/COPYING
+++ b/COPYING
@@ -1,9 +1,8 @@
-
                    GNU GENERAL PUBLIC LICENSE
                       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -306,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 
 Also add information on how to contact you by electronic and paper mail.
diff --git a/ChangeLog b/ChangeLog
new file mode 100644 (file)
index 0000000..77199f6
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,857 @@
+2005-11-13  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * README.logger, install.sh, package/bootchart.spec: Bumped
+         version.
+
+2005-11-13  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/org/bootchart/common/Common.java: Bumped version.
+
+       * src/org/bootchart/: Main.java, common/ProcessTree.java: Removed
+         unused code.
+
+       * README.logger: Added section about monitoring applications.
+
+2005-11-07  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       Thanks to Jörg Sommer: 
+       * script/bootchartd, src/org/bootchart/common/ProcessTree.java:
+         Fix init parameter passing.  Fix compiler warnings in
+         ProcessTree.
+
+2005-10-25  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       Patch from Lorenzo Colitti:
+       * script/bootchartd: Retrieve uptime from /proc/uptime instead of
+         /proc/stat.
+
+2005-10-25  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * script/bootchartd: Fixed mktemp syntax (thanks to Lorenzo
+         Colitti).
+
+2005-10-20  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       Patch from Lorenzo Colitti and Stephan Kulow:
+       * script/: bootchartd, bootchartd.conf: Improve
+         customization to allow regular user monitoring.
+
+2005-10-18  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       Patch from Lorenzo Colitti and Stephan Kulow:
+       * src/org/bootchart/: Main.java, common/ProcessTree.java,
+         common/PsStats.java, parser/linux/ProcPsParser.java,
+         parser/linux/PsParser.java: Improve support for monitoring
+         applications. Factor out PsStats.
+
+2005-10-14  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/org/bootchart/Main.java: Fixed output file name handling
+         (Debian bug #333753).  Worked around TarInputStream's lack of
+         validation.
+
+2005-10-10  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/org/bootchart/common/ProcessTree.java: Base boot processes
+         off their absolute start times.
+
+       * src/org/bootchart/parser/linux/ProcPsParser.java: Fixed bug where
+         processes were being pruned too soon (reported by Stephan Kulow).
+
+2005-10-03  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/org/bootchart/Main.java: Report error when no log files are
+         available (thanks to Benjamin Carlyle).
+
+2005-09-26  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * install.sh, uninstall.sh, package/bootchart.spec,
+         script/bootchartd, script/bootchartd.conf: Changed tmpfs to mount
+         in /mnt and immediately do a lazy umount (thanks to Jörg Sommer
+         and Miquel van Smoorenburg).
+
+2005-09-25  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * README.logger, script/bootchartd, script/bootchartd.conf: Added
+         kernel cmdline option for specifying an alternative init process
+         (thanks to Jörg Sommer).
+
+2005-07-31  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * script/: bootchartd, bootchartd.conf: New options for alternative
+         init invocations (thanks to Xavier Lagraula).
+
+2005-07-25  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * script/bootchartd: Removed the proc/*/stat globbing hack
+         (Jörg Sommer).
+         Reintroduced the gdm-binary exit process.
+         Added support for Frugalware (Laszlo Dvornik).
+
+2005-07-05  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       Patch from Jörg Sommer <joerg@alea.gnuu.de>:
+       * script/bootchartd: Additional scripting improvements.
+
+       * src/org/bootchart/Main.java: Replace PosixParser with GnuParser
+         to handle unrecognized options.  Improve handling of dashes in
+         log file names.
+
+2005-07-04  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       Patch from Jörg Sommer <joerg@alea.gnuu.de>:
+       * script/bootchartd: Various scripting improvements.
+
+       * src/org/bootchart/: renderer/ImageRenderer.java, Main.java:
+         Handle a missing header file.  Fix an arithmetic exception.
+
+2005-06-16  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * script/bootchartd: Fixed CPU count check for Hyper-Threading
+         systems.  Thanks to Maurice van der Pot <griffon26@gentoo.org>.
+
+2005-05-24  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * build.xml: Turned off debug and lib warnings.
+
+       * package/bootchart.spec: Added missing BuildRequires for
+         jakarta-commons.cli.
+
+2005-05-05  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * script/: bootchartd, bootchartd.conf: Allow for alternate init(1)
+         invocations.
+
+2005-04-10  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * script/bootchartd: Added support for FC4's early-login.
+
+       * src/org/bootchart/: common/ProcessTree.java,
+         parser/linux/ProcPsParser.java: Varios improvements in process
+         tree building.
+
+       * src/org/bootchart/renderer/ImageRenderer.java: Minor color
+         changes.
+
+2005-03-03  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/org/bootchart/servlet/RenderServlet.java: Accept custom log
+         file suffixes.
+
+       * src/org/bootchart/common/ProcessTree.java: Improved detection of
+         background processes.
+
+       * src/org/bootchart/parser/linux/ProcPsParser.java: Fixed the key
+         used in cpu-times maps (thanks to Stephan Kulow).
+
+2005-02-13  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * script/bootchart: Added VM argument to enable the Cairo backend
+         with GCJ.
+
+       * package/bootchart.spec: Removed LICENSE.epsgraphics.txt.
+
+       * script/bootchartd, src/org/bootchart/renderer/ImageRenderer.java,
+         src/org/bootchart/renderer/SVGRenderer.java,
+         src/org/bootchart/Main.java,
+         src/org/bootchart/common/ProcessTree.java: Changes to enable
+         specific application profiling.
+
+       * src/org/bootchart/parser/linux/PsParser.java: Improved command
+         name handling.
+
+2005-02-13  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/org/bootchart/renderer/ImageRenderer.java: Fixed
+         setRenderingHints call for GCJ compatibility.
+
+       * lib/LICENSE.pngencoder.txt,
+         src/org/bootchart/renderer/PNGRenderer.java: Replaced PngEncoder
+         with ImageIO.write as GCJ now implements it.
+
+2005-02-12  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/org/bootchart/common/: CPUSample.java, Common.java,
+         DiskTPutSample.java, DiskUtilSample.java, FileOpenSample.java,
+         Process.java, ProcessSample.java, Sample.java: Checkstyle
+         cleanup.
+
+       * src/org/bootchart/: renderer/ImageRenderer.java,
+         renderer/SVGRenderer.java, parser/linux/ProcDiskStatParser.java:
+         Removed obsolete parsers.
+
+2005-02-12  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/org/bootchart/: parser/linux/IostatParser.java,
+         parser/linux/TopParser.java, Main.java: Removed obsolete parsers.
+
+2005-02-09  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/org/bootchart/: renderer/CSSInliner.java,
+         renderer/ImageRenderer.java, renderer/SVGRenderer.java,
+         Main.java, common/CPUSample.java, common/Common.java,
+         common/DiskTPutSample.java, common/DiskUtilSample.java,
+         common/FileOpenSample.java, common/ProcessSample.java,
+         parser/linux/PacctParser.java,
+         parser/linux/ProcDiskStatParser.java: Fixed issues reported by
+         findbugs.
+
+2005-02-08  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * script/bootchartd: Replaced shcat with cat for performance
+         reasons.
+
+       * README.logger: Removed reference to kernel patches.
+
+       * uninstall.sh, install.sh: Set ROOT.
+
+2005-02-08  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * INSTALL, README, TODO: Fixed documentation typos.
+
+2005-02-07  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * package/bootchart.spec: Removed jpp references.
+
+       * .cvsignore: Added javadoc.
+
+       * INSTALL: Added Kaffe to the free Java success stories.
+
+       * src/org/bootchart/renderer/ImageRenderer.java,
+         svg/bootchart.svg.template, svg/style.css: Improved coloring and
+         labels.
+
+       * src/org/bootchart/parser/linux/: ProcPsParser.java: Improved
+         active process detection.
+
+2005-02-07  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * INSTALL: Updated free JRE documentation.
+
+       * src/org/bootchart/: parser/linux/IostatParser.java,
+         parser/linux/TopParser.java, common/Common.java,
+         common/ProcessTree.java, common/Sample.java,
+         renderer/ImageRenderer.java, renderer/SVGRenderer.java,
+         Main.java: Various free JRE compatibility workarounds.
+
+2005-02-06  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/org/bootchart/parser/linux/ProcPsParser.java: Moved PPID
+         detection.
+
+       * src/org/bootchart/parser/linux/PacctParser.java: Fixed forkMap
+         entries.
+
+       * src/org/bootchart/common/ProcessTree.java: Reinstated process
+         sorting by PID.
+
+       * script/bootchartd: Fixed release retrieval for SUSE.
+
+       * src/org/bootchart/Main.java: Print input file name.
+
+       * package/bootchart.spec: Added missing jpackage-utils requirement.
+
+2005-02-04  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/org/bootchart/: common/Common.java, common/Process.java,
+         common/ProcessTree.java, renderer/SVGRenderer.java,
+         parser/linux/PidNameParser.java, parser/linux/ProcPsParser.java:
+         Include process description is SVG tooltips
+         (recommended by Paul Pacheco).
+
+       * package/bootchart.spec: Fixed spec tags.
+
+2005-02-02  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * README.logger: Minor documentation fix.
+
+       * src/org/bootchart/renderer/ImageRenderer.java: Fix for top's
+         sample timing issues.
+
+       * src/org/bootchart/parser/linux/PacctParser.java: Parse command
+         name for debugging purposes.  Improved readUint32.
+
+2005-02-01  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * examples/bootchart.tgz: Updated sample log file.
+
+       * script/bootchartd, INSTALL, README, README.logger,
+         src/org/bootchart/parser/linux/ProcPsParser.java,
+         src/org/bootchart/parser/linux/PacctParser.java,
+         src/org/bootchart/Main.java: Updated documentation.
+
+       * svg/style.css, src/org/bootchart/renderer/ImageRenderer.java:
+         Improved coloring scheme.
+
+       * src/org/bootchart/renderer/SVGRenderer.java: Fixed renderering of
+         delayed charts.
+
+2005-01-30  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * INSTALL, README, README.logger: Updated documentation.
+
+       * src/org/bootchart/servlet/RenderServlet.java: Updated renderer
+         code.  Added doGet() with HTML code for a test form.
+
+       * src/org/bootchart/parser/linux/ForkParser.java,
+         src/org/bootchart/parser/linux/PacctParser.java,
+         src/org/bootchart/parser/linux/ProcPsParser.java,
+         src/org/bootchart/parser/linux/PsParser.java,
+         src/org/bootchart/parser/linux/TopParser.java, script/bootchartd,
+         script/bootchartd.conf, src/org/bootchart/Main.java,
+         src/org/bootchart/common/ProcessTree.java: Implemented parser for
+         BSD process accounting.  Removed ForkParser and the fork kernel
+         patch.
+
+       * package/bootchart.spec: Removed references to JPackage.
+
+2005-01-29  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * README, README.logger: Updated documentation.
+
+       * build.xml: Removed deprecation and javadoc warnings.
+
+       * src/org/bootchart/: parser/linux/ProcPsParser.java,
+         renderer/ImageRenderer.java: Fixed CPU statistics overflow
+         (thanks to Markus Bertheau).
+
+       Patch from Bobby Jack:
+       * install.sh, package/bootchart.spec: Fixed sed syntax.
+
+       * script/bootchartd: Workaround for Gentoo's /etc/issue.
+
+2005-01-28  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * examples/: bootchart.tgz, bootlog.tgz: Updated sample logs.
+
+2005-01-28  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/org/bootchart/renderer/ImageRenderer.java: Fixed drawing of
+         delayed charts.
+
+       * src/org/bootchart/parser/linux/: ProcDiskStatParser.java,
+         ProcStatParser.java, PsParser.java: Minor parsing changes.
+
+       * src/org/bootchart/parser/linux/ProcPsParser.java:
+         /proc/[number]/stat parser.
+
+       * src/org/bootchart/servlet/RenderServlet.java: Renamed bootlog to
+         bootchartd.
+
+       * script/bootchartd, script/bootchartd.conf, script/bootlog,
+         script/bootlog.conf, package/bootchart.spec,
+         script/kernel/bootchart.fork-2.6.9.patch,
+         script/kernel/bootlog.fork-2.6.9.patch,
+         src/org/bootchart/Main.java,
+         src/org/bootchart/common/Common.java,
+         src/org/bootchart/common/ProcessTree.java, INSTALL, README,
+         README.logger, install.sh, uninstall.sh: Renamed bootlog to
+         bootchartd (thanks to Paul Pacheco).
+
+2005-01-26  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * INSTALL, README, README.logger: Updated documentation.
+
+       * build.xml: Removed classpath from the javadoc target.
+
+       * script/bootlog, package/bootchart.spec, script/bootlog.conf,
+         install.sh, uninstall.sh: Changed invocation (bootlog is called
+         directly by the kernel).
+
+       * src/org/bootchart/Main.java: Added support for reading log files
+         from a directory.
+
+       * src/org/bootchart/common/ProcessTree.java: Pruning changes.
+
+2005-01-25  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * package/bootchart.spec: Updated source directory.
+
+2005-01-25  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * script/bootlog: Updated header comment.
+
+2005-01-23  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * package/bootchart.spec, uninstall.sh: Init patch safety switches.
+
+2005-01-23  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * svg/bootchart.svg.template, svg/style.css,
+         src/org/bootchart/renderer/SVGRenderer.java,
+         src/org/bootchart/parser/linux/PsParser.java,
+         src/org/bootchart/renderer/ImageRenderer.java: Improved color
+         scheme.
+
+       * INSTALL, README, README.logger: Documentation updates.
+
+       * script/bootlog: Prevent race conditions.  Various compatibility
+         fixes.
+
+       * src/org/bootchart/parser/linux/PsParser.java: Reduced log level.
+
+       * src/org/bootchart/common/Common.java, build.xml, install.sh,
+         uninstall.sh, examples/bootchart.log.tar.gz,
+         examples/bootlog.tgz, package/bootchart.spec,
+         src/org/bootchart/Main.java, script/bootlog.conf,
+         src/org/bootchart/servlet/RenderServlet.java: Moved bootlog to
+         /sbin.  Renamed log to bootlog.tgz.
+
+2005-01-21  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * package/bootchart.spec, install.sh, uninstall.sh,
+         script/bootlog.conf: Renamed /mnt/bootchart to /mnt/bootlog.
+
+2005-01-21  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/org/bootchart/*, script/bootchart, .classpath: Renamed
+         packages to org.bootchart.
+
+       * script/distro: Removed unused patches.
+
+       * svg/bootchart.svg.template: Minor style improvements.
+
+       * INSTALL, README, README.logger, TODO: Updated documentation.
+
+       * install.sh, uninstall.sh: bootlog changes.
+
+       * build.xml: Changes for JPackage compatibility.
+
+       * .classpath: Moved library sources to lib
+
+       * package/bootchart.spec: JPackage-compatible RPM spec.
+
+       * script/bootchart: JPackage script.
+
+       * script/bootlog: Replaced top and iostat with /proc loggers.
+         Changed invocation.  Wait for /proc to be mounted and the boot
+         process to complete.
+
+       * script/bootlog.conf: bootlog configuration.
+
+       * script/toprc: top is no longer used.
+
+       * examples/bootchart.log.tar.gz: Updated sample log file.
+
+       * lib/: org/apache/commons/compress/*,
+         LICENSE.cli.txt, LICENSE.epsgraphics.txt, LICENSE.pngencoder.txt,
+         commons-cli-1.0.jar, commons-compress-cvs-2004-12-22.jar,
+         epsgraphics.jar, com/keypoint/PngEncoder.java,
+         com/keypoint/PngEncoderB.java,
+         org/apache/commons/cli/*,
+         org/apache/commons/compress/tar/*,
+         org/apache/commons/lang/NumberUtils.java,
+         org/jibble/epsgraphics/*: Replaced binary libraries with
+         sources.
+
+2005-01-09  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * INSTALL, README: Updated documentation.
+
+       * build.xml, .classpath: Added epsgraphics.jar.
+
+       * src/si/klika/bootchart/renderer/SVGRenderer.java,
+         svg/bootchart.svg.template, svg/style.css: Synced with PNG
+         renderer.
+
+       * src/si/klika/bootchart/: renderer/EPSRenderer.java,
+         renderer/ImageRenderer.java, renderer/PNGRenderer.java,
+         renderer/Renderer.java, servlet/RenderServlet.java: Factored out
+         ImageRenderer.  Implemented EPS renderer.
+
+       * src/si/klika/bootchart/Main.java: Refactored the common package
+         for better abstraction.
+
+       * src/si/klika/bootchart/parser/: ForkParser.java,
+         HeaderParser.java, IostatParser.java, TopParser.java: Refactored
+         the common package for better abstraction.
+
+       * lib/epsgraphics.jar: EPS Graphics2D package.
+
+       * script/bootlog, src/overview.html: Changed project page URL.
+
+       * src/si/klika/bootchart/common/: BootStats.java, CPUSample.java,
+         Common.java, DiskTPutSample.java, DiskUtilSample.java,
+         FileOpenSample.java, IostatSample.java, Process.java,
+         ProcessSample.java, ProcessTree.java, Sample.java, Stats.java,
+         TopSample.java, package.html: Refactored the common package for
+         better abstraction.
+
+2004-12-22  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * .classpath, INSTALL, build.xml, lib/LICENSE.cli.txt,
+         lib/LICENSE.compress.txt, lib/LICENSE.txt, lib/NOTICE.txt,
+         lib/commons-compress-cvs-2004-12-22.jar, lib/tar.jar,
+         src/si/klika/bootchart/Main.java: Replaced the tar package with
+         commons-compress.
+
+2004-12-22  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * INSTALL: Added note for Gentooers.  Added note about using Apache
+         software.
+
+       * build.xml: Updated javadoc classpath.
+
+       * src/si/klika/bootchart/servlet/RenderServlet.java: Log file
+         handling changes.
+
+       * src/si/klika/bootchart/: Main.java, common/Common.java: Renamed
+         the log file filter.
+
+       * src/si/klika/bootchart/: renderer/SVGRenderer.java,
+         renderer/PNGRenderer.java, renderer/Renderer.java,
+         parser/IostatParser.java: Moved getMaxDiskTPut to IostatParser.
+
+       * examples/: boot.io.log.gz, boot.top.log.gz, bootchart.log.tar.gz:
+         Updated sample log file.
+
+2004-12-19  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/si/klika/bootchart/: parser/ForkParser.java,
+         parser/IostatParser.java, parser/PidNameParser.java,
+         parser/TopParser.java, Main.java, common/Common.java: Parsing
+         cleanups.
+
+2004-12-19  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * README, render.sh: Removed the render.sh script.
+
+       * INSTALL, Makefile, README, render.sh: Build changes.
+
+       * src/si/klika/bootchart/: CSSInliner.java, Common.java,
+         ForkParser.java, IostatParser.java, IostatSample.java, Main.java,
+         PNGEncoder.java, PNGEncoderB.java, PNGRenderer.java,
+         PidNameParser.java, Process.java, ProcessTree.java,
+         Renderer.java, SVGRenderer.java, TopParser.java, TopSample.java,
+         package.html, common/Common.java, common/IostatSample.java,
+         common/Process.java, common/ProcessTree.java,
+         common/TopSample.java, common/package.html,
+         parser/ForkParser.java, parser/IostatParser.java,
+         parser/PidNameParser.java, parser/TopParser.java,
+         parser/package.html, renderer/CSSInliner.java,
+         renderer/PNGEncoder.java, renderer/PNGEncoderB.java,
+         renderer/PNGRenderer.java, renderer/Renderer.java,
+         renderer/SVGRenderer.java, renderer/package.html: Moved classes
+         to packages.
+
+2004-12-19  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * .classpath: Imported the Java Tar library and Commons CLI.
+
+       * src/si/klika/bootchart/servlet/package.html: Added Javadoc
+         package descriptions.
+
+       * src/si/klika/bootchart/: Common.java, ForkParser.java,
+         IostatParser.java, PNGRenderer.java, PidNameParser.java,
+         ProcessTree.java, TopParser.java: Log file handling changes.
+
+       * build.xml: Added tar and CLI libraries.  Bundled SVG templates in
+         JAR.  Added javadoc target.
+
+       * render.sh, src/si/klika/bootchart/servlet/RenderServlet.java: Log
+         file handling changes.  Improved error handling.
+
+       Contributions from Paul Pacheco  <paul.pacheco@wavecode.com>:
+       * src/si/klika/bootchart/SVGRenderer.java: SVG template bundling
+         changes.
+
+       * src/si/klika/bootchart/Main.java: Use Commons CLI for command
+         line options.  Log file handling changes.
+
+       * lib/: LICENSE.txt, commons-cli-1.0.jar, tar.jar: Imported the
+         Java Tar library and Commons CLI.
+
+       * src/: overview.html, si/klika/bootchart/package.html: Added
+         Javadoc package descriptions.
+
+       Contribution from Stephan Kulow  <coolo@suse.de>:
+       * script/kernel/bootlog.fork-2.6.9.patch: Added optional kernel
+         patch for do_fork logging.
+
+       * script/: conectiva.sh, debian-filerc.patch, debian.sh, distro,
+         fc3-rc.sysinit.patch, gentoo-rc.patch, rh9-rc.sysinit.patch,
+         smgl-init.patch, suse-boot.patch, init/conectiva.sh,
+         init/debian-filerc.patch, init/debian.sh,
+         init/fc3-rc.sysinit.patch, init/gentoo-rc.patch,
+         init/rh9-rc.sysinit.patch, init/smgl-init.patch,
+         init/suse-boot.patch: Moved init patches to init/.
+
+       * script/bootlog: Create a single log tarball.  Include any fork
+         log lines from dmesg.
+
+       * COPYING, INSTALL, README, TODO: Updated documentation.
+
+2004-12-17  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       Patch from Vagner A. Farias  <vfarias@conectiva.com.br>:
+       * script/: bootlog, conectiva.sh, distro: Added support for
+         Conectiva Linux.
+
+       * install.sh: Removed redundant copy.
+
+2004-12-14  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/si/klika/bootchart/Common.java: Bumped version.
+
+       * INSTALL, TODO: Updated documentation.
+
+       * script/debian-rc.patch, script/debian.sh, script/distro,
+         install.sh, uninstall.sh: Updated Debian init patch to start
+         logging earlier.
+
+2004-12-13  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * svg/style.css, src/si/klika/bootchart/PNGRenderer.java: Added
+         signature.
+
+       Patch from Robert Helgesson  <rycee@home.se>:
+       * script/bootlog, script/smgl-init.patch, install.sh, uninstall.sh:
+         Fixes for smgl.
+
+2004-12-13  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/si/klika/bootchart/ProcessTree.java: Never filter exit
+         processes.
+
+       * src/si/klika/bootchart/: PNGRenderer.java: Fixed image type
+         regression.
+
+2004-12-13  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       Patches from Colin Phipps  <cph@moria.org.uk> (file-rc) and
+       Robert Helgesson  <rycee@home.se> (smgl):
+       * script/: debian-filerc.patch, distro, smgl-init.patch: Added
+         support for Source Mage and Debian file-rc.
+
+       Patch from Vincent McIntyre  <Vince.McIntyre@atnf.csiro.au>:
+       * render.sh: Fixed elif test.
+
+       * src/si/klika/bootchart/: IostatParser.java, Main.java,
+         SVGRenderer.java, TopParser.java, servlet/RenderServlet.java:
+         Minor parser and renderer fixes.
+
+       * src/si/klika/bootchart/PNGRenderer.java: Filter out cpuinfo
+         label.
+
+2004-12-11  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * INSTALL: Updated gcj instructions.
+
+       * src/si/klika/bootchart/: Common.java, IostatParser.java,
+         Process.java, TopParser.java: Parser fixes for various locales
+         and procps versions.
+
+       * src/si/klika/bootchart/servlet/RenderServlet.java: ProcessTree
+         constructor update.
+
+       * svg/style.css: Use pure white for background.
+
+2004-12-09  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * script/bootlog: Fixed pkill switch to kill oldest processes.
+
+2004-12-09  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/si/klika/bootchart/ProcessTree.java: Added bootlog to the
+         list of filtered processes.
+
+2004-12-09  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * Makefile: Added a parser for the kernel do_fork logging patch.
+
+       * src/si/klika/bootchart/: ForkParser.java, Main.java,
+         ProcessTree.java: Added a parser for the kernel do_fork logging
+         patch.
+
+       * src/si/klika/bootchart/IostatParser.java: Fixed parser for
+         localized iostat output.
+
+       * src/si/klika/bootchart/Common.java,
+         src/si/klika/bootchart/SVGRenderer.java,
+         svg/process.svg.template: Made SVG compression an option.
+
+       * src/si/klika/bootchart/CSSInliner.java: Code cleanup.
+
+       Patches from Stephan Kulow  <coolo@suse.de>:
+       * src/si/klika/bootchart/PNGRenderer.java: Minor style changes.
+       
+       * script/bootlog, script/debian-rc.patch, script/distro,
+         script/fc3-rc.sysinit.patch, script/gentoo-rc.patch,
+         script/rh9-rc.sysinit.patch, script/suse-boot.patch, INSTALL,
+         README, install.sh: Move bootchart directory to /lib for better
+         FHS compliance.
+
+2004-12-06  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/si/klika/bootchart/: PNGEncoder.java, PNGEncoderB.java,
+         PNGRenderer.java: Replaced ImageIO packages with PNGEncoder.
+
+       * src/si/klika/bootchart/Common.java: Added CVS Id keyword.
+       
+       * TODO: Fixed typo.
+
+       * render.sh, script/distro: Minor fixes.
+
+       * src/si/klika/bootchart/SVGRenderer.java, svg/style.css: Minor
+         fixes.
+
+2004-12-05  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * INSTALL, Makefile, README, TODO, build.xml, render.sh,
+         src/si/klika/bootchart/Main.java: Documentation and build system
+         overhaul.
+
+       * script/distro, install.sh, uninstall.sh: Factored out distro
+         detection.
+
+2004-12-05  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/si/klika/bootchart/Common.java: Added xdm and getty to the
+         list of exit processes.
+
+       * src/si/klika/bootchart/TopParser.java: Fixed log file encoding
+         issues.
+
+       * svg/bootchart.svg.template, svg/style.css,
+         src/si/klika/bootchart/SVGRenderer.java: Improved ksvg
+         compatibility.
+
+2004-12-04  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       Patch from Stephan Kulow  <coolo@suse.de>:
+       * script/bootlog, script/suse-boot.patch, INSTALL, README,
+         install.sh, uninstall.sh: Added support for SuSE.
+
+       * svg/bootchart.svg.template, svg/style.css,
+         src/si/klika/bootchart/CSSInliner.java,
+         src/si/klika/bootchart/Common.java,
+         src/si/klika/bootchart/IostatParser.java,
+         src/si/klika/bootchart/Main.java,
+         src/si/klika/bootchart/PNGRenderer.java,
+         src/si/klika/bootchart/ProcessTree.java,
+         src/si/klika/bootchart/Renderer.java,
+         src/si/klika/bootchart/SVGRenderer.java: Improved rendering for
+         SuSE.  Implemented CVS inlining for ksvg support.
+
+       * src/si/klika/bootchart/servlet/RenderServlet.java, .classpath,
+         src/si/klika/bootchart/RenderServlet.java: Moved RenderServlet to
+         servlet package.
+       
+       * src/si/klika/bootchart/TopParser.java: Fixed CPU time parsing (thanks
+         to Carl Wilhelm Soderstrom).
+
+       * render.sh: Document renderer usage.
+
+       * examples/: boot.io.log.gz, boot.io.log.sortreadahead.gz,
+         boot.top.log.gz, boot.top.log.sortreadahead.gz: Renamed log file
+         examples.
+
+2004-12-03  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/si/klika/bootchart/: SVGRenderer.java, Main.java,
+         PNGRenderer.java, RenderServlet.java, Renderable.java,
+         Renderer.java: Replaced Renderable interface with an abstract
+         class.  Improved disk read scale.
+
+       * src/si/klika/bootchart/ProcessTree.java,
+         svg/bootchart.svg.template, svg/style.css: Minor style
+         improvements.
+
+2004-12-02  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       Patch from Chris Debenham  <chris@adebenham.com>:
+       * script/bootlog, script/debian-rc.patch, install.sh: Added support
+         for Debian.
+
+       Patch from Paul Pacheco  <paul.pacheco@wavecode.com>:
+       * script/bootlog: Replace deprecated head -1.
+
+       * src/si/klika/bootchart/: IostatParser.java, PNGRenderer.java,
+         Process.java, ProcessTree.java, SVGRenderer.java: Various parser
+         fixes.
+
+2004-12-01  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * INSTALL, README, TODO: Updated documentation.
+
+       Patch from Paul Pacheco  <paul.pacheco@wavecode.com>:
+       * install.sh, script/gentoo-rc.patch: Gentoo changes.
+
+       * script/bootlog: Added support for Mandrake.
+
+       * script/rc.sysinit.7.93.5-1.patch: Removed obsolete patch.
+
+       * src/si/klika/bootchart/: Main.java, PNGRenderer.java,
+         PidNameParser.java, RenderServlet.java, Renderable.java,
+         SVGRenderer.java: Implemented SVG rendering.  Added a PID-cmdline
+         mapping parser.
+
+       * src/si/klika/bootchart/: IostatParser.java, Process.java,
+         ProcessTree.java, TopParser.java: Fixed time skew issues.
+         Optimized process tree construction.
+
+       * svg/: bootchart.svg.template, process.svg.template, style.css:
+         Added SVG templates.
+
+       * Makefile: Added Makefile for gcj.
+
+2004-11-28  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       Patches from Paul Pacheco  <paul.pacheco@wavecode.com> and
+       Jernej Simoncic  <jernej@ena.si>:
+       * INSTALL, script/bootlog, script/fc3-rc.sysinit.patch,
+         script/gentoo-rc.patch, script/rh9-rc.sysinit.patch, README,
+         install.sh, uninstall.sh: Changes for Gentoo and RH9.
+
+       * .cvsignore: Added bootchart.jar.
+
+       * src/si/klika/bootchart/: ProcessTree.java, Renderable.java: Added
+         interface for future SVG support.
+
+       * src/si/klika/bootchart/: IostatParser.java, PNGRenderer.java:
+         Accumulate statistics for all disks.
+
+       * src/si/klika/bootchart/: Main.java, RenderServlet.java,
+         TopParser.java: Improved exit process handling.
+
+2004-11-25  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * README: Added note about sysstat installation.
+
+       * build.xml: Added prepare target.
+
+       * src/si/klika/bootchart/PNGRenderer.java: Handle missing headers.
+
+       * src/si/klika/bootchart/IostatParser.java: Fixed time parsing.
+
+2004-11-24  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/si/klika/bootchart/TopParser.java: Fixed problem with PR
+         column (thanks to Paul Pacheco).  Added workaround for invalid
+         SMP log files.
+
+       * src/si/klika/bootchart/ProcessTree.java: Improved updateStats()
+         performance.  Handle missing PPID column.
+
+       * src/si/klika/bootchart/PNGRenderer.java: Properly handle missing
+         iostat samples.
+
+       * src/si/klika/bootchart/Main.java: Fixed logger class.
+
+2004-11-23  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * src/si/klika/bootchart/: IostatParser.java, ProcessTree.java:
+         Time skew fixes.
+
+       * script/bootlog, install.sh, render.sh, uninstall.sh: Fixes for
+         SMP and missing /usr.  Added uninstall script.
+
+2004-11-22  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * build.xml: Added jar target.  Excluded RenderServlet.
+
+       * .classpath, .cvsignore, .project: Eclipse project files
+
+2004-11-22  Ziga Mahkovec  <ziga.mahkovec@klika.si>
+
+       * Initial import.
diff --git a/INSTALL b/INSTALL
new file mode 100644 (file)
index 0000000..ec7501d
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,93 @@
+Installation
+------------
+
+1. Installing the bootchart logger (bootchartd)
+
+First, uninstall any previous bootchart version.
+Run the install.sh script for installing bootchartd.  It will copy the
+necessary files and (if grubby is available) automatically add a GRUB/LILO
+entry to enable bootchart logging.
+
+If grubby is not available the boot loader configuration needs to be changed
+manually.  Add a new boot loader entry and modify the kernel command line to
+include "init=/sbin/bootchartd".  Example for GRUB (/boot/grub/menu.lst):
+
+title Bootchart logging
+        root (hd0,1)
+        kernel /vmlinuz-2.6.10 ro root=/dev/hda1 init=/sbin/bootchartd
+        initrd /initrd-2.6.10.img
+title Fedora Core (2.6.10)
+        root (hd0,1)
+        kernel /vmlinuz-2.6.10 ro root=/dev/hda1
+        initrd /initrd-2.6.10.img
+
+Alternatively, the kernel command line may be changed interactively when the
+boot loader displays the menu.
+
+
+2. Enabling process accounting (optional)
+
+The boot logger will periodically log the output of /proc/[PID]/stat
+files.  While this is in most cases sufficient to recreate the process tree,
+it is possible that a short-lived process will not get picked up by the
+logger.  If that process also forks new processes, the logger will lack
+dependency information for these "orphaned" processes -- meaning that they
+might get incorrectly grouped by the renderer.
+
+To work around this issue, process accounting may be enabled.  When the
+kernel is configured to perform process accounting, it will output basic
+information about each process as it exists.  Since the accounting
+information also includes the process' PID and PPID (parent PID), it enables
+an accurate recreation of the process tree.
+
+To enable process accounting, the kernel needs to be configured to include
+CONFIG_BSD_PROCESS_ACCT_V3 (under General setup / BSD Process Accounting /
+BSD Process Accounting version 3 file format).
+
+The GNU accounting utilities also need to be installed (package psacct or
+acct).  Only the accton tool is used from the utilities to enable and
+disable accounting. The parser will read the binary accounting file
+directly and does not require the accounting tools to be able to read v3
+files.  Also, any accounting services need to be disabled to prevent
+interfering with the boot logger -- it will start and stop accounting by
+itself.
+
+
+3. Compiling the Java sources
+
+Install a Java Development Kit, to be able to compile the Java sources for
+the bootchart renderer.  Note that a JDK is not necessary if the renderer web
+service is used. See README for details on using the renderer web service.
+
+Bootchart is known to work with the following Java development environments:
+
+  - Sun J2SE SDK
+    (http://java.sun.com/j2se/1.4.2/, http://java.sun.com/j2se/1.5.0/)
+
+  - IBM developer kit for Linux
+    (http://www-106.ibm.com/developerworks/java/jdk/linux140/)
+
+  - Free environments, based on GNU Classpath (*):
+      o GCJ 3.4.2, 4.0.0 (http://gcc.gnu.org/java/)
+      o JamVM 1.2.4 (http://jamvm.sourceforge.net/)
+      o SableVM 1.1.9 (http://sablevm.org/)
+      o Kaffe 1.1.x-cvs (http://www.kaffe.org/)
+  
+    (*) Note: These environments are limited to SVG rendering, due to
+        incomplete Graphics2D implementation.
+
+Distribution specific notes on installing Java:
+
+  - RPM based distributions
+    (Fedora, Red Hat, SUSE Linux, Mandrakelinux, etc.):
+    http://jpackage.org
+
+  - Gentoo:
+    http://www.gentoo.org/doc/en/java.xml
+
+  - Ubuntu:
+    http://www.ubuntulinux.org/wiki/Java
+
+
+To build the sources, install the Apache Ant package.  Run 'ant' in the
+bootchart directory to build the JAR package.
index 566a848..80524fd 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,39 +1,24 @@
-
-VERSION = 1.15
-
-CC := gcc
-
-all: bootchartd
-
-install: bootchartd
-       mkdir -p $(DESTDIR)/sbin
-       mkdir -p $(DESTDIR)/etc
-       mkdir -p $(DESTDIR)/usr/share/doc/bootchart/
-       install -m0755 bootchartd $(DESTDIR)/sbin/
-       install -m0644 bootchartd.conf.example $(DESTDIR)/usr/share/doc/bootchart/
-       install -m0644 README COPYING $(DESTDIR)/usr/share/doc/bootchart/
-
-OBJS := log.o svg.o bootchart.o
-
-CFLAGS += -Wall -W -Os -g -fstack-protector -D_FORTIFY_SOURCE=2 -Wformat -fno-common \
-        -Wimplicit-function-declaration  -Wimplicit-int -fstack-protector \
-        -DBOOTCHARTVERSION=\"v$(VERSION)\"
-
-LDADD  += -lrt
-
-%.o: %.c Makefile bootchart.h
-       @echo "  CC  $<"
-       @$(CC) $(CFLAGS) -c -o $@ $<
-
-bootchartd: $(OBJS) Makefile
-       @echo "  LD  $@"
-       @$(CC) -o $@ $(OBJS) $(LDADD) $(LDFLAGS)
-
-clean:
-       rm -rf *.o *~ bootchartd
-
-dist:
-       git tag v$(VERSION)
-       git archive --format=tar --prefix="bootchart-$(VERSION)/" v$(VERSION) | \
-               gzip > bootchart-$(VERSION).tar.gz
-
+#PREFIX ?= /usr
+SBINDIR ?= /sbin
+ETCDIR ?= /etc
+
+MKDIR ?= mkdir -p
+INSTALL ?= install
+
+ifeq ($(V),1)
+Q=
+NQ=true
+else
+Q=@
+NQ=echo
+endif
+
+all:
+
+install: bootchartd bootchartd.conf
+       @$(NQ) ' INST bootchartd'
+       $(Q)$(MKDIR) $(DESTDIR)$(SBINDIR) 
+       $(Q)$(INSTALL) -m 755 ./bootchartd $(DESTDIR)$(SBINDIR) 
+       @$(NQ) ' INST bootchartd.conf'
+       $(Q)$(MKDIR) $(DESTDIR)$(ETCDIR) 
+       $(Q)$(INSTALL) -m 755 ./bootchartd.conf $(DESTDIR)$(ETCDIR)
diff --git a/README b/README
index fa1d730..9afc898 100644 (file)
--- a/README
+++ b/README
@@ -1,82 +1,63 @@
+Introduction
+------------
 
-Bootchart - a 'startup' graphing tool
+Bootchart is a tool for performance analysis and visualization of the
+GNU/Linux boot process.  Resource utilization and process information are
+collected during the boot process and can later be displayed in a PNG, SVG or
+EPS-encoded chart.
 
---
+The boot process is modified to start the boot logger (/sbin/bootchartd)
+instead of /sbin/init.  The boot logger will run in background and collect
+information from the proc file system (/proc/[PID]/stat, /proc/stat and
+/proc/diskstats).  The statistics are logged to a virtual memory file system
+(tmpfs).  Once the boot process completes (denoted by the existence of
+specific processes), the log files are packaged to /var/log/bootchart.tgz.
 
-Bootchart is a tool, usually run at system startup, that collects and graphs
-the CPU and disk load of the system as it works. The output of bootchart is
-an SVG graph. Normally, bootchart is invoked as `bootchartd` by the kernel
-by passing "init=/sbin/bootchartd" to the kernel. Bootchart will then fork
-init off to resume normal system startup, while monitoring and logging
-startup information in the background.
+The log package can later be processed using a Java application which builds
+the process tree and renders a performance chart.  The chart may then be
+analyzed to examine process dependency and overall resource utilization.
+A renderer web form is also available on the project web site.
 
-After collecting a certain amount of data (usually 15-30 seconds) the logging
-stops and a graph is generated from the logged information. This graph
-contains vital clues to which resources are being used, in which order, and
-where possible problems exist in the startup sequence of the system.
 
-Of course, bootchart can also be used at any moment in time to collect and
-graph some data for an amount of time. Bootchart does not even require root
-privileges to do so, and will happily run as a normal user. Bootchart graphs
-are by default written time-stamped in /var/log.
+Running
+-------
 
---
+1. Install bootchartd and the bootchart renderer. See INSTALL for details.
 
-This version of bootchart was implemented from scratch and inspired by former
-incantations of bootchart:
+2. Modify your boot loader (GRUB/LILO) if necessary.  Alternatively, change
+   the kernel command line interactively upon reboot.
+   Reboot.
 
-- The original bash/shell code implemented bootchart. This version logged all
-data into a compressed tarball for later processing, and did not create a graph
-on it's own.
+3. Verify that /var/log/bootchart.tgz was created and contains the log files.
 
-- The C-code implementation found in Ubuntu. This version replaced above shell
-code version with a faster and efficient data logger, but still did not graph
-code itself.
+4. Render the chart by running:
 
-- the original Java-based bootchart, the original graphing program that created
-a bootchart graph from logged data.
+   $ java -jar bootchart.jar
 
-- the pybootchartgui.py program, which created a graph based on the data logged
-by either standalone data logger.
+   Alternatively (if no Java Development Kit is installed to build the JAR
+   package), the web renderer may be used.  The web form is available at:
+   
+   http://www.bootchart.org
 
-The version you are looking at combines these 2 parts into a single program,
-which makes running it and creating graphs a bit more efficient and simple.
-You can now run a single program at startup instead of 2. There are no timing
-problems (the graphing stage will never run if the logging stage didn't
-finish). The logged data isn't being written to disc first, then read again.
-Also, the data kept in memory is reduced to the absolute minimum needed to
-keep memory use low.
+   To use the web renderer from a script, run:
+   curl --form format=svg --form log=@/var/log/bootchart.tgz \
+     http://bootchart.klika.si:8080/bootchart/render > bootchart.svgz
 
---
+   (optionally replacing the svg/bootchart.svgz pair with png/bootchart.png or
+    eps/bootchart.eps.gz)
 
-Requirements: glibc. Your kernel must have procfs support and several
-proc output options enabled:
-  CONFIG_PROC_FS
-  CONFIG_SCHEDSTATS
-  CONFIG_SCHED_DEBUG
-at a minimum. bootchartd itself does not require any graphics library
-to generate the SVG output file.
+5. View the generated image and analyze the chart.
+   SVG images may be viewed using any of the following programs:
+   - rsvg-view (librsvg; GNOME)
+   - svgdisplay (ksvg; KDE)
+   - Gimp (using the gimp-svg plugin)
+   - Inkscape
+   - Squiggle (Batik; http://xml.apache.org/batik/)
 
---
+   To get help for additional options, run:
+   
+   $ java -jar bootchart -h
 
-Configuration: please see bootchartd --help, as well as /etc/bootchartd.conf
-and/or /usr/share/doc/bootchart/bootchartd.conf.example for a list of
-configurable options.
 
---
-
-Many thanks to those who contributed ideas and code:
- - Ziga Mahkovec - Original bootchart author
- - Anders Norgaard - PyBootchartgui
- - Michael Meeks - bootchart2
- - Scott James Remnant - Ubuntu C-based logger
- - Arjan van der Ven - for the idea to merge bootgraph.pl functionality
-
---
-
-For bugs, please contact the author or current maintainer:
-Auke Kok <auke-jan.h.kok@intel.com>
-
---
-
-Download bootchart releases here: http://foo-projects.org/~sofar/bootchart/
+http://www.bootchart.org
+Ziga Mahkovec  <ziga.mahkovec@klika.si>
diff --git a/README.logger b/README.logger
new file mode 100644 (file)
index 0000000..fb73dfc
--- /dev/null
@@ -0,0 +1,176 @@
+Operation
+---------
+
+When bootchartd is started by the kernel (passed init=/sbin/bootchartd), it
+will first start boot logging in background and then exec /sbin/init or an
+alternative init process.
+The boot logger will mount a tmpfs file system for log file storage and wait
+for /proc to be mounted.  It will then run several logging functions in
+parallel and wait for the boot process to end (i.e. one of the predefined
+processes for runlevels 2, 3 or 5 is running).
+
+
+Monitoring applications
+-----------------------
+
+In addition to the boot process, the bootchartd logger may also be used to
+profile a running system or specific applications.  This may performed by
+regular users as well, by using the following procedure:
+
+  1. Copy the default bootchartd configuration file locally:
+
+     $ cp /etc/bootchartd.conf /home/joe/tmp/
+
+  2. Edit /home/joe/tmp/bootchartd.conf and replace the BOOTLOG_DEST
+     value with a directory with write permissions, e.g.
+       
+       BOOTLOG_DEST=/home/joe/tmp/bootchart.tgz
+
+  3. Run bootchartd from within /home/joe/tmp/, profiling the system
+     in general or a specific application:
+
+     $ cd /home/joe/tmp/
+     
+     # to profile the system in general:
+     $ /sbin/bootchart start; sleep 5; /sbin/bootchartd stop
+     
+     # to profile a specific application, e.g. evolution:
+     $ /sbin/bootchart start evolution
+
+  4. Render the generated log file:
+
+     $ /usr/bin/bootchart /home/joe/tmp/bootchart.tgz
+
+     Alternatively, upload the log tarball to the renderer web service.
+
+
+Log files
+---------
+
+The bootchartd script will create various log files.  Note that all statistics
+log entries start with the time, specified as uptime in jiffies (1/100 s).
+Log entries are written every 0.2 seconds by default.  Detailed information
+about the /proc entries is available in the proc(5) manual page.
+
+The files available in /var/log/bootchart.tgz are:
+
+1. header
+
+   Basic information about the system and logger.  The following properties
+   are set (with sample values):
+
+   === header ===
+   version = 0.9
+   title = Boot chart for serenity.klika.si (Wed Jan 19 22:21:53 CET 2005)
+   system.uname = Linux 2.6.10-1.741_FC3 #1 Thu Jan 13 16:38:22 EST 2005 i686 GNU/Linux
+   system.release: Fedora Core release 3 (Heidelberg)
+   system.cpu = model name : Intel(R) Pentium(R) M processor 1500MHz (1)
+   system.kernel.options = ro root=/dev/vg0/root vga=0x318 quiet grub
+   ==============
+
+
+2. proc_stat.log
+
+   The CPU statistics collected from /proc/stat.
+   
+   Example:
+   
+   === proc_stat.log ===
+   691
+   cpu  8 0 141 313 230 0 0
+   cpu0 8 0 141 313 230 0 0
+   intr 7454 6943 8 0 1 3 1 0 0 0 1 1 1 99 0 373 23
+   ctxt 4607
+   btime 1106875682
+   processes 531
+   procs_running 2
+   procs_blocked 1
+
+   ...
+   =====================
+
+
+3. proc_diskstats.log (optional)
+
+   The disk IO statistics collected from /proc/diskstats.  Note that these
+   are only available when using a 2.6 kernel (or a patched 2.4 kernel).
+   
+   Example:
+   
+   === proc_diskstats.log ===
+   704
+      1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+      1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+      ...
+      3    0 hda 357 18 7963 7619 0 0 0 0 3 2522 7789
+      ...
+
+   ...
+   ==========================
+
+
+4. proc_ps.log
+
+   Process status information, collected from /proc/[PID]/stat files.
+   Used to reconstruct the process tree and track process states and CPU
+   usage.  Example:
+   
+   === proc_ps.log ===
+   692
+   1 (init) S 0 0 0 0 -1 8388864 656 ...
+   138 (kblockd/0) S 3 0 0 0 -1 32832 0 ...
+   146 (khubd) S 1 1 1 0 -1 64 0 ...
+   16 (kacpid) S 3 0 0 0 -1 32832 0 ...
+   2 (ksoftirqd/0) S 1 0 0 0 -1 32832 ...
+
+   ...
+   ==============
+
+5. init_pidname.log (optional)
+   
+   The PID to process name mapping file.  Used for Gentoo, where many init
+   scripts are sourced and thus shown as "rc boot" or "rc default" in the
+   process listing.  The Gentoo init patch however will maintain this log
+   file by storing the actual script names and mapping them to PIDs.
+   Example:
+   
+   === init_pidname.log ===
+   2969=checkroot
+   2996=hostname
+   3003=modules
+   7263=coldplug
+   ...
+   ===================
+
+
+6. kernel_pacct (optional)
+
+   Process accounting information.  Created if BSD process accounting v3 is
+   configured when compiling the kernel (CONFIG_BSD_PROCESS_ACCT_V3).  The
+   GNU accounting tools also need to be installed (psacct or acct package).
+   
+   The file contains detailed process information, useful for filling in any
+   process dependency blanks caused by the polling nature of
+   /proc/[PID]/stat logging.  The file is binary and is defined in
+   include/linux/acct.h.
+   
+   General information about process accounting is available in the HOWTO:
+   http://www.tldp.org/HOWTO/Process-Accounting/
+
+
+Alternative init processes
+--------------------------
+
+Alternative init processes (e.g. initng) may be specified using the
+bootchart_init kernel command line option, e.g.:
+
+  init=/sbin/bootchartd bootchart_init=/sbin/initng
+
+In this case, bootchartd will execute /sbin/initng instead of the default
+/sbin/init.
+
+
+
+http://www.bootchart.org
+Ziga Mahkovec  <ziga.mahkovec@klika.si>
diff --git a/TODO b/TODO
new file mode 100644 (file)
index 0000000..f0d1016
--- /dev/null
+++ b/TODO
@@ -0,0 +1,8 @@
+TODO
+----
+
+- Include number of open files statistics.
+
+- Include kernel boot profiling.
+
+- Debian packaging.
diff --git a/bootchart.c b/bootchart.c
deleted file mode 100644 (file)
index 1adfa1c..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-/*
- * bootchart.c
- *
- * Copyright (c) 2009 Intel Coproration
- * Authors:
- *   Auke Kok <auke-jan.h.kok@intel.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; version 2
- * of the License.
- */
-
-
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/resource.h>
-#include <stdio.h>
-#include <signal.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <time.h>
-#include <getopt.h>
-#include <limits.h>
-
-
-#include "bootchart.h"
-
-double graph_start;
-double log_start;
-double sampletime[MAXSAMPLES];
-struct ps_struct *ps[MAXPIDS]; /* ll */
-struct block_stat_struct blockstat[MAXSAMPLES];
-struct cpu_stat_struct cpustat[MAXCPUS];
-int pscount;
-int cpus;
-double interval;
-FILE *of;
-int overrun = 0;
-static int exiting = 0;
-
-/* graph defaults */
-int initcall = 1;
-int relative;
-int filter = 1;
-int pss = 0;
-int samples;
-int len = 500; /* we record len+1 (1 start sample) */
-int hz = 25;   /* 20 seconds log time */
-int scale_x = 100; /* 100px = 1sec */
-int scale_y = 20;  /* 16px = 1 process bar */
-
-char init_path[PATH_MAX] = "/sbin/init";
-char output_path[PATH_MAX] = "/var/log";
-
-static struct rlimit rlim;
-
-static void signal_handler(int sig)
-{
-       if (sig++)
-               sig--;
-       exiting = 1;
-}
-
-
-int main(int argc, char *argv[])
-{
-       struct sigaction sig;
-       char output_file[PATH_MAX];
-       char datestr[200];
-       time_t t;
-       FILE *f;
-       int i;
-
-       memset(&t, 0, sizeof(time_t));
-
-       rlim.rlim_cur = 4096;
-       rlim.rlim_max = 4096;
-       (void) setrlimit(RLIMIT_NOFILE, &rlim);
-
-       f = fopen("/etc/bootchartd.conf", "r");
-       if (f) {
-               char buf[256];
-               char *key;
-               char *val;
-
-               while (fgets(buf, 80, f) != NULL) {
-                       char *c;
-
-                       c = strchr(buf, '\n');
-                       if (c) *c = 0; /* remove trailing \n */
-
-                       if (buf[0] == '#')
-                               continue; /* comment line */
-
-                       key = strtok(buf, "=");
-                       if (!key)
-                               continue;
-                       val = strtok(NULL, "=");
-                       if (!val)
-                               continue;
-
-                       // todo: filter leading/trailing whitespace
-
-                       if (!strcmp(key, "samples"))
-                               len = atoi(val);
-                       if (!strcmp(key, "freq"))
-                               hz = atoi(val);
-                       if (!strcmp(key, "rel"))
-                               relative = atoi(val);
-                       if (!strcmp(key, "filter"))
-                               filter = atoi(val);
-                       if (!strcmp(key, "pss"))
-                               pss = atoi(val);
-                       if (!strcmp(key, "output"))
-                               strncpy(output_path, val, PATH_MAX - 1);
-                       if (!strcmp(key, "init"))
-                               strncpy(init_path, val, PATH_MAX - 1);
-                       if (!strcmp(key, "scale_x"))
-                               scale_x = atoi(val);
-                       if (!strcmp(key, "scale_y"))
-                               scale_y = atoi(val);
-               }
-               fclose(f);
-       }
-
-       while (1) {
-               static struct option opts[] = {
-                       {"rel", 0, NULL, 'r'},
-                       {"freq", 1, NULL, 'f'},
-                       {"samples", 1, NULL, 'n'},
-                       {"pss", 0, NULL, 'p'},
-                       {"output", 1, NULL, 'o'},
-                       {"init", 1, NULL, 'i'},
-                       {"filter", 0, NULL, 'F'},
-                       {"help", 0, NULL, 'h'},
-                       {"scale-x", 1, NULL, 'x'},
-                       {"scale-y", 1, NULL, 'y'},
-                       {NULL, 0, NULL, 0}
-               };
-
-               int index = 0, c;
-
-               c = getopt_long(argc, argv, "rpf:n:o:i:Fhx:y:", opts, &index);
-               if (c == -1)
-                       break;
-               switch (c) {
-               case 'r':
-                       relative = 1;
-                       break;
-               case 'f':
-                       hz = atoi(optarg);
-                       break;
-               case 'F':
-                       filter = 0;
-                       break;
-               case 'n':
-                       len = atoi(optarg);
-                       break;
-               case 'o':
-                       strncpy(output_path, optarg, PATH_MAX - 1);
-                       break;
-               case 'i':
-                       strncpy(init_path, optarg, PATH_MAX - 1);
-                       break;
-               case 'p':
-                       pss = 1;
-                       break;
-               case 'x':
-                       scale_x = atoi(optarg);
-                       break;
-               case 'y':
-                       scale_y = atoi(optarg);
-                       break;
-               case 'h':
-                       fprintf(stderr, "Usage: %s [OPTIONS]\n", argv[0]);
-                       fprintf(stderr, " --rel,     -r            Record time relative to recording\n");
-                       fprintf(stderr, " --freq,    -f N          Sample frequency [%d]\n", hz);
-                       fprintf(stderr, " --samples, -n N          Stop sampling at [%d] samples\n", len);
-                       fprintf(stderr, " --scale-x, -x N          Scale the graph horizontally [%d] \n", scale_x);
-                       fprintf(stderr, " --scale-y, -y N          Scale the graph vertically [%d] \n", scale_y);
-                       fprintf(stderr, " --pss,     -p            Enable PSS graph (CPU intensive)\n");
-                       fprintf(stderr, " --output,  -o [PATH]     Path to output files [%s]\n", output_path);
-                       fprintf(stderr, " --init,    -i [PATH]     Path to init executable [%s]\n", init_path);
-                       fprintf(stderr, " --filter,  -F            Disable filtering of processes from the graph\n");
-                       fprintf(stderr, "                          that are of less importance or short-lived\n");
-                       fprintf(stderr, " --help,    -h            Display this message\n");
-                       fprintf(stderr, "See the installed README and bootchartd.conf.example for more information.\n");
-                       exit (EXIT_SUCCESS);
-                       break;
-               default:
-                       break;
-               }
-       }
-
-       if (len > MAXSAMPLES) {
-               fprintf(stderr, "Error: samples exceeds maximum\n");
-               exit(EXIT_FAILURE);
-       }
-
-       /*
-        * If the kernel executed us through init=/sbin/bootchartd, then
-        * fork:
-        * - parent execs executable specified via init_path[] (/sbin/init by default) as pid=1
-        * - child logs data
-        */
-       if (getpid() == 1) {
-               if (fork()) {
-                       /* parent */
-                       execl(init_path, init_path, NULL);
-               }
-       }
-
-       /* handle TERM/INT nicely */
-       memset(&sig, 0, sizeof(struct sigaction));
-       sig.sa_handler = signal_handler;
-       sigaction(SIGTERM, &sig, NULL);
-       sigaction(SIGINT, &sig, NULL);
-
-       interval = (1.0 / hz) * 1000000000.0;
-
-       log_uptime();
-
-       /* main program loop */
-       while (!exiting) {
-               int res;
-               double sample_stop;
-               struct timespec req;
-               long newint_ns;
-
-               sampletime[samples] = gettime_ns();
-
-               /* wait for /proc to become available, discarding samples */
-               if (!graph_start)
-                       log_uptime();
-               else
-                       log_sample(samples);
-
-               sample_stop = gettime_ns();
-
-               req.tv_sec = 0;
-               newint_ns = interval - ((sample_stop - sampletime[samples]) * 1000000000);
-
-               /*
-                * check if we have not consumed our entire timeslice. If we
-                * do, don't sleep and take a new sample right away.
-                * we'll lose all the missed samples and overrun our total
-                * time
-                */
-               if (newint_ns > 0) {
-                       req.tv_nsec = newint_ns;
-
-                       res = nanosleep(&req, NULL);
-                       if (res) {
-                               perror("nanosleep()");
-                               exit (EXIT_FAILURE);
-                       }
-               } else {
-                       overrun++;
-                       /* calculate how many samples we lost and scrap them */
-                       len = len + ((int)(newint_ns / interval));
-               }
-
-               samples++;
-
-               if (samples > len)
-                       break;
-
-       }
-
-       /* do some cleanup, close fd's */
-       for ( i = 0; i < MAXPIDS ; i++) {
-               if (!ps[i])
-                       continue;
-       /*
-               if (ps[i]->schedstat)
-                       close(ps[i]->schedstat);
-               if (ps[i]->sched)
-                       close(ps[i]->sched);
-               if (ps[i]->smaps)
-                       fclose(ps[i]->smaps);
-        */
-       }
-
-       t = time(NULL);
-       strftime(datestr, sizeof(datestr), "%Y%m%d-%H%M", localtime(&t));
-       sprintf(output_file, "%s/bootchart-%s.svg", output_path, datestr);
-
-       of = fopen(output_file, "w");
-       if (!of) {
-               perror("open output_file");
-               exit (EXIT_FAILURE);
-       }
-
-       svg_do();
-
-       fprintf(stderr, "bootchartd: Wrote %s\n", output_file);
-       fclose(of);
-
-       /* don't complain when overrun once, happens most commonly on 1st sample */
-       if (overrun > 1)
-               fprintf(stderr, "bootchartd: Warning: sample time overrun %i times\n", overrun);
-
-       return 0;
-}
diff --git a/bootchart.h b/bootchart.h
deleted file mode 100644 (file)
index ca22114..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * bootchart.h
- *
- * Copyright (c) 2009 Intel Coproration
- * Authors:
- *   Auke Kok <auke-jan.h.kok@intel.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; version 2
- * of the License.
- */
-
-
-#define VERSION "0.1"
-
-#define MAXCPUS         8
-#define MAXPIDS     65535
-#define MAXSAMPLES   8192
-
-
-struct block_stat_struct {
-       /* /proc/vmstat pgpgin & pgpgout */
-       int bi;
-       int bo;
-};
-
-struct cpu_stat_sample_struct {
-       /* /proc/schedstat fields 10 & 11 (after name) */
-       double runtime;
-       double waittime;
-};
-
-struct cpu_stat_struct {
-       /* per cpu array */
-       struct cpu_stat_sample_struct sample[MAXSAMPLES];
-};
-
-/* per process, per sample data we will log */
-struct ps_sched_struct {
-       /* /proc/<n>/schedstat fields 1 & 2 */
-       double runtime;
-       double waittime;
-       int pss;
-};
-
-/* process info */
-struct ps_struct {
-       struct ps_struct *children;
-       struct ps_struct *next;
-
-       /* must match - otherwise it's a new process with same PID */
-       char name[16];
-       int pid;
-       int ppid;
-
-       /* cache fd's */
-       int sched;
-       int schedstat;
-       FILE *smaps;
-
-       /* index to first/last seen timestamps */
-       int first;
-       int last;
-
-       /* records actual start time, may be way before bootchart runs */
-       double starttime;
-
-       /* record human readable total cpu time */
-       double total;
-
-       /* largest PSS size found */
-       int pss_max;
-
-       /* for drawing connection lines later */
-       double pos_x;
-       double pos_y;
-
-       struct ps_sched_struct sample[MAXSAMPLES];
-};
-
-
-extern double graph_start;
-extern double log_start;
-extern double sampletime[];
-extern struct ps_struct *ps[]; /* ll */
-extern struct block_stat_struct blockstat[];
-extern struct cpu_stat_struct cpustat[];
-extern int pscount;
-extern int relative;
-extern int filter;
-extern int pss;
-extern int initcall;
-extern int samples;
-extern int cpus;
-extern int len;
-extern int hz;
-extern int scale_x;
-extern int scale_y;
-extern int overrun;
-extern double interval;
-
-extern char output_path[PATH_MAX];
-extern char init_path[PATH_MAX];
-
-extern FILE *of;
-
-extern double gettime_ns(void);
-extern void log_uptime(void);
-extern void log_sample(int sample);
-
-extern void svg_do(void);
-
diff --git a/bootchartd b/bootchartd
new file mode 100755 (executable)
index 0000000..355f183
--- /dev/null
@@ -0,0 +1,257 @@
+#!/bin/sh
+#
+# Bootchart logger script
+# Ziga Mahkovec  <ziga.mahkovec@klika.si>
+#
+# This script is used for data collection for the bootchart
+# boot performance visualization tool (http://www.bootchart.org).
+#
+# To profile the boot process, bootchartd should be called instead of
+# /sbin/init.  Modify the kernel command line to include:
+# init=/sbin/bootchartd
+#
+# bootchartd will then start itself in background and exec /sbin/init
+# (or an alternative init process if specified using bootchart_init=)
+#
+# To profile a running system, run:
+# $ /sbin/bootchartd start; sleep 30; /sbin/bootchartd stop
+#
+
+PATH="/sbin:/bin:/usr/sbin:/usr/bin:$PATH"
+VERSION="0.9"
+
+# Read configuration.
+CONF="/etc/bootchartd.conf"
+if [ -f $PWD/bootchartd.conf ]; then
+       . $PWD/bootchartd.conf
+elif [ -f $CONF ]; then
+        . $CONF
+else
+        echo "$CONF missing"
+        exit 1
+fi
+
+if [ ! -e /dev/null ]; then
+       mknod /dev/null c 1 3
+fi
+
+# Start the boot logger.
+start()
+{
+       # Make sure only a single instance is running
+       [ -f "$BOOTLOG_LOCK" ] && return
+       
+       # Mount the temporary file system for log file storage.  If possible,
+       # a temporary directory is created.  In most cases though (i.e. during
+       # boot), a tmpfs is mounted in /mnt.  The mount point is immediately
+       # released using a lazy umount, so the script must never leave that
+       # directory.
+       LOG_DIR="$( mktemp -d /tmp/bootchart.XXXXXX 2>/dev/null )"
+       if [ -z "$LOG_DIR" ]; then
+               LOG_DIR="/mnt"
+               LAZY_UMOUNT="yes"
+               mount -n -t tmpfs -o size=$TMPFS_SIZE none "$LOG_DIR" >/dev/null 2>&1
+       fi
+       cd "$LOG_DIR"
+       > "$BOOTLOG_LOCK"
+       [ -n "$LAZY_UMOUNT" ] && umount -nfl "$LOG_DIR"
+
+       # Enable process accounting if configured
+       if [ "$PROCESS_ACCOUNTING" = "yes" ]; then
+               > kernel_pacct
+               accton kernel_pacct
+       fi
+       
+       # Wait for /proc to be mounted
+       while [ ! -f /proc/stat ]; do sleep $SAMPLE_PERIOD; done
+       sleep $SAMPLE_PERIOD
+
+       #
+       # Run loggers in background
+       #
+       log_output "cat /proc/stat" proc_stat.log &
+
+       # /proc/diskstats is available in 2.6 kernels
+       [ -f /proc/diskstats ] && log_output "cat /proc/diskstats" proc_diskstats.log &
+
+       log_output "cat /proc/*/stat" proc_ps.log &
+       #log_output "ps -eww -o pid,ppid,s,pcpu,comm,cmd" ps.log &
+
+       if [ -n "$IN_INIT" ]; then
+               # If we were called during init, wait for the boot process to end
+               wait_boot &
+       elif [ "$#" -gt 0 ]; then
+               # If a command was passed, run it
+               # (used for profiling specific applications)
+               echo "profile.process = $( basename $1 )" >> header
+               $@
+               stop
+       fi
+}
+
+
+# Run the command ($1) every $SAMPLE_PERIOD seconds and append output to
+# file ($2).  Mostly pure bash, so we avoid creating an excessive number of
+# processes (thus polluting the process tree).
+log_output()
+{
+       # Set the stop() trap.
+       trap stop USR1
+
+       local cmd="$1"
+       local logfile="$2"
+       while [ -f "$BOOTLOG_LOCK" ]; do
+               # Write the time (in jiffies).
+#              read uptime < /proc/uptime
+#              uptime=${uptime%% [0-9]*}
+#              uptime=${uptime/./}
+           cat /proc/uptime | awk '{ printf $1 }' | awk -F . '{ printf $1$2 }'
+               echo $uptime
+
+               # Log the command output
+               eval $cmd 2>/dev/null
+               echo
+               sleep $SAMPLE_PERIOD
+       done  >> "$logfile" || stop
+}
+
+# Wait for the boot process to end.
+wait_boot()
+{
+       local runlevel=$( sed -n 's/.*:\(.*\):initdefault:.*/\1/gp' /etc/inittab )
+
+       # The processes we have to wait for
+       local exit_proc="gdmgreeter gdm-binary kdm_greet kdm idle_lock"
+       # early_login in FC4 starts gdm early, so fall back to mingetty
+       local early_login="no"
+       grep -q early_login /proc/cmdline && early_login="yes"
+       if [ "$runlevel" -eq "2" -o "$runlevel" -eq "3" -o "$early_login" = "yes" ]; then
+               exit_proc="mingetty agetty rungetty getty"
+       fi
+       while [ -f "$BOOTLOG_LOCK" ]; do
+               if [ -n "$( pidof $exit_proc )" ]; then
+                       # Give the exit process some time to start
+                       sleep 5
+                       # Flush the log files
+                       stop
+                       return
+               fi
+               sleep 2
+       done;
+}
+
+
+# Stop the boot logger.  The lock file is removed to force the loggers in
+# background to exit.  Some final log files are created and then all log files
+# from the tmpfs are packaged and stored in $BOOTLOG_DEST.
+stop()
+{
+       if [ ! -f "$BOOTLOG_LOCK" ]; then
+               echo "${0##*/} not running"
+               return
+       fi
+       # Prevent concurrent stop() calls
+       rm -f "$BOOTLOG_LOCK" || return
+       sleep $SAMPLE_PERIOD
+       sleep $SAMPLE_PERIOD
+
+       # Stop process accounting if configured
+       local pacct=
+       if [ "$PROCESS_ACCOUNTING" = "yes" ]; then
+               accton
+               pacct=kernel_pacct
+       fi
+
+       # Write system information
+       log_header
+
+       # Package log files
+       tar -zcf "$BOOTLOG_DEST" header $pacct *.log
+       if [ -z "$LAZY_UMOUNT" ]; then
+               rm "$LOG_DIR"/*
+               rmdir "$LOG_DIR"
+       fi
+
+       # Render the chart if configured (and the renderer is installed)
+       [ "$AUTO_RENDER" = "yes" -a -x /usr/bin/bootchart ] && \
+               /usr/bin/bootchart -o "$AUTO_RENDER_DIR" -f $AUTO_RENDER_FORMAT "$BOOTLOG_DEST"
+}
+
+
+# Log some basic information about the system.
+log_header()
+{
+       (
+               echo "version = $VERSION"
+               echo "title = Boot chart for $( hostname | sed q ) ($( date ))"
+               echo "system.uname = $( uname -srvm | sed q )"
+               if [ -f /etc/gentoo-release ]; then
+                       echo "system.release = $( sed q /etc/gentoo-release )"
+               elif [ -f /etc/SuSE-release ]; then
+                       echo "system.release = $( sed q /etc/SuSE-release )"
+               elif [ -f /etc/debian_version ]; then
+                       echo "system.release = Debian GNU/$( uname -s ) $( cat /etc/debian_version )"
+               elif [ -f /etc/frugalware-release ]; then
+                       echo "system.release = $( sed q /etc/frugalware-release )"
+               else
+                       echo "system.release = $( sed 's/\\.//g;q' /etc/issue )"
+               fi
+
+               # Get CPU count
+               local cpucount=$(grep -c '^processor' /proc/cpuinfo)
+               if [ $cpucount -gt 1 -a -n "$(grep 'sibling.*2' /proc/cpuinfo)" ]; then
+                       # Hyper-Threading enabled
+                       cpucount=$(( $cpucount / 2 ))
+               fi
+               if grep -q '^model name' /proc/cpuinfo; then
+                       echo "system.cpu = $( grep '^model name' /proc/cpuinfo | sed q )"\
+                            "($cpucount)"
+               else
+                       echo "system.cpu = $( grep '^cpu' /proc/cpuinfo | sed q )"\
+                            "($cpucount)"
+               fi
+
+               echo "system.kernel.options = $( sed q /proc/cmdline )"
+       ) >> header
+}
+
+if [ $$ -eq 1 ]; then
+       # Started by the kernel.  Start the logger in background and exec
+       # init(1).
+       IN_INIT="yes"
+       echo "Starting bootchart logging"
+       start &
+       
+       # Optionally, an alternative init(1) process may be specified using
+       # the kernel command line (e.g. "bootchart_init=/sbin/initng")
+       init="/sbin/init"
+       for i in $@; do
+               if [ "${i%%=*}" = "bootchart_init" ]; then
+                       init="${i#*=}"
+                       break
+               fi
+       done
+       exec $init $*
+fi
+
+case "$1" in
+       "init")
+               # Started by the init script
+               IN_INIT="yes"
+               echo "Starting bootchart logging"
+               start &
+               ;;
+       "start")
+               # Started by the user
+               shift
+               start $@
+               ;;
+       "stop")
+               # Signal all background processes to stop logging
+               killall -USR1 bootchartd
+               ;;
+       *)
+               echo $"Usage: $0 {init|start|stop}"
+               ;;
+esac
+
diff --git a/bootchartd.conf b/bootchartd.conf
new file mode 100755 (executable)
index 0000000..d86f991
--- /dev/null
@@ -0,0 +1,35 @@
+#
+# Configuration for bootchartd, the bootchart logger script.
+#
+
+# tmpfs size
+# (32 MB should suffice for ~20 minutes worth of log data, but YMMV)
+TMPFS_SIZE=32m
+
+# Lock file
+BOOTLOG_LOCK=".lock"
+
+# Sampling period (in seconds)
+SAMPLE_PERIOD=1
+
+# Whether to enable and store BSD process accounting information.  The
+# kernel needs to be configured to enable v3 accounting
+# (CONFIG_BSD_PROCESS_ACCT_V3). accton from the GNU accounting utilities
+# is also required.
+PROCESS_ACCOUNTING="no"
+
+# Tarball for the various boot log files
+BOOTLOG_DEST=/var/log/bootchart.tgz
+
+# Whether to automatically generate the boot chart once the boot logger
+# completes.  The boot chart will be generated in $AUTO_RENDER_DIR.
+# Note that the bootchart package must be installed.
+AUTO_RENDER="no"
+
+# Image format to use for the auto-generated boot chart
+# (choose between png, svg and eps).
+AUTO_RENDER_FORMAT="png"
+
+# Output directory for auto-generated boot charts
+AUTO_RENDER_DIR="/var/log"
+
diff --git a/bootchartd.conf.example b/bootchartd.conf.example
deleted file mode 100644 (file)
index ed1c559..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-#
-# bootchartd configuration - /etc/bootchartd.conf
-#
-
-#
-# How long do I make my graph?
-#
-# Preferably, you record enough time so that the entire boot process
-# is recorded in the bootchart, plus some extra. The default recording
-# samples/freq is 20secs.  So, if you want to record 30secs instead of
-# 20secs, you'll have to increase the amount of samples to 30*25 = 750.
-
-
-#
-# samples - how many samples total to record
-#
-#samples=500
-
-#
-# freq - how many samples per second to record
-#
-#freq=25
-
-#
-# rel - do not graph anything before the first sample is recorded.
-#
-# This is useful when running bootchart if the system is already up for
-# a long time, in which case the monotonic clock will be so large that
-# the graph would be unworkably large, as by default the graph starts
-# at 0 (kernel boot start).  Set this to 1 if you run bootchart from
-# the cmdline.
-#
-#rel=0
-
-#
-# filter
-#
-# filter out insignificant processes from the process chart. This makes
-# the process chart a lot more compact, but you'll not be able to see
-# shortlived processes or processes that don't actually use any
-# measurable (< 0.001sec) CPU time.
-#
-#filter=1
-
-#
-# alternative output folder
-#
-#output=<folder name, defaults to /var/log>
-
-#
-# path to non-standard init
-#
-#init=/path/to/init
-
-#
-# PSS graph - memory usage graph
-#
-# Enabling this option will make bootchart log PSS usage from /proc/*/smaps
-# for each process, which is highly CPU intensive. You're advised to
-# lower the 'freq' value. Expect many dropped samples - PSS measurement
-# can take up to 1sec of time on an average Atom platform.
-#
-#pss=0
-
-#
-# scale_x - horizontal graph scale
-#
-# Modifies the default horizontal (time) scale factor.  The number given
-# specifies the amount of pixels that one second worth of time is wide
-# in the graph. So, a higher value equals longer graph.
-#
-#scale_x=100
-
-#
-# scale_y - vertical graph scale
-#
-# Modifies the default vertical scale factor. The number given specifies
-# the amount of pixels given in the graph to vertical aspects of the
-# elements. In the PS graph, 16px equals scale_y=20. A higher value
-# equals a taller graph.
-#
-#scale_y=20
-
diff --git a/build.xml b/build.xml
new file mode 100644 (file)
index 0000000..54e357b
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+This is the bootchart build file, to be used with the Apache Ant build tool.
+-->
+<project name="bootchart" default="all" basedir=".">
+
+       <!-- Overrides properties -->
+       <property file="build.properties"/>
+       
+       <!-- Compilation properties -->
+       <property name="compiler.nowarn"      value="false"/>
+       <property name="compiler.debug"       value="false"/>
+       <property name="compiler.optimize"    value="false"/>
+       <property name="compiler.deprecation" value="false"/>
+       <property name="j2se.apidoc" value="http://java.sun.com/j2se/1.4/docs/api/"/>
+
+       <!-- Paths -->
+       <property environment="env"/>
+       <property name="lib.home"   value="${basedir}/lib"/>
+       <property name="src.home"   value="${basedir}/src"/>
+       <property name="build.home" value="${basedir}/build"/>
+       <property name="docs.home"  value="${basedir}/javadoc"/>
+       <property name="jar.name"  value="bootchart.jar"/>
+       
+       <!-- Targets -->
+
+       <!-- Prepare -->
+       <target name="prepare" description="Prepare">
+               <mkdir dir="${build.home}"/>
+       </target>
+       
+       <!-- Compile -->
+       <target name="classes" depends="prepare" description="Build classes">
+               <!-- compile libraries -->
+               <javac srcdir="${lib.home}"
+                       destdir="${build.home}"
+                       nowarn="true"
+                       debug="${compiler.debug}"
+                       optimize="${compiler.optimize}"
+                       deprecation="${compiler.deprecation}"
+                       classpath="${build.home}">
+                       <include name="**/*.java"/>
+               </javac>
+               <!-- compile source files -->
+               <javac srcdir="${src.home}"
+                       destdir="${build.home}"
+                       nowarn="${compiler.nowarn}"
+                       debug="${compiler.debug}"
+                       optimize="${compiler.optimize}"
+                       deprecation="${compiler.deprecation}"
+                       classpath="${build.home}">
+                       <include name="**/*.java"/>
+                       <exclude name="**/servlet/**"/>
+               </javac>
+       </target>
+       
+       <!-- Package JAR -->
+       <target name="jar" depends="classes" description="Create JAR">
+               <!-- create jar package -->
+               <jar jarfile="${jar.name}">
+                       <fileset dir="${build.home}" includes="**/*.class,**/*.properties,**/*.template"/>
+                       <fileset dir="${basedir}" includes="svg/**"/>
+                       <manifest>
+                               <attribute name="Built-By" value="${env.USER}"/>
+                               <attribute name="Manifest-Version" value="1.0"/>
+                               <attribute name="Main-Class" value="org.bootchart.Main"/>
+                       </manifest>
+               </jar>
+       </target>
+       
+       <!-- Create Javadoc API documentation -->
+       <target name="javadoc" depends="classes" description="Create Javadoc">
+               <mkdir dir="${docs.home}/api"/>
+               <javadoc sourcepath="${src.home}:${lib.home}"
+                       destdir="${docs.home}/api"
+                       Overview="${src.home}/overview.html"
+                       Windowtitle="Bootchart"
+                       DocTitle="Bootchart API Specification"
+                       packagenames="org.bootchart.*"
+                       excludepackagenames="org.bootchart.servlet">
+                       <link href="${j2se.apidoc}"/>
+               </javadoc>
+       </target>
+
+       <!-- Clean -->
+       <target name="clean" description="Clean">
+               <delete dir="${build.home}"/>
+               <delete dir="${docs.home}"/>
+               <delete file="${jar.name}"/>
+       </target>
+       
+       <!-- Test -->
+       <target name="test" depends="jar" description="Test">
+               <java classname="org.bootchart.Main" classpath="${jar.name}">
+                       <arg line="./examples/"/>
+               </java>
+       </target>
+       
+       <!-- Build all -->
+       <target name="all" depends="jar,javadoc" description="All"/>
+
+</project>
diff --git a/config.guess b/config.guess
new file mode 100644 (file)
index 0000000..45bee13
--- /dev/null
@@ -0,0 +1,1465 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+timestamp='2005-04-22'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Per Bothner <per@bothner.com>.
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit 0 ;;
+    --version | -v )
+       echo "$version" ; exit 0 ;;
+    --help | --h* | -h )
+       echo "$usage"; exit 0 ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )        # Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+       for c in cc gcc c89 c99 ; do
+         if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+            CC_FOR_BUILD="$c"; break ;
+         fi ;
+       done ;
+       if test x"$CC_FOR_BUILD" = x ; then
+         CC_FOR_BUILD=no_compiler_found ;
+       fi
+       ;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+       PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+       # NetBSD (nbsd) targets should (where applicable) match one or
+       # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+       # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+       # switched to ELF, *-*-netbsd* would select the old
+       # object file format.  This provides both forward
+       # compatibility and a consistent mechanism for selecting the
+       # object file format.
+       #
+       # Note: NetBSD doesn't particularly care about the vendor
+       # portion of the name.  We always set it to "unknown".
+       sysctl="sysctl -n hw.machine_arch"
+       UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+           /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+       case "${UNAME_MACHINE_ARCH}" in
+           armeb) machine=armeb-unknown ;;
+           arm*) machine=arm-unknown ;;
+           sh3el) machine=shl-unknown ;;
+           sh3eb) machine=sh-unknown ;;
+           *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+       esac
+       # The Operating System including object format, if it has switched
+       # to ELF recently, or will in the future.
+       case "${UNAME_MACHINE_ARCH}" in
+           arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+               eval $set_cc_for_build
+               if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+                       | grep __ELF__ >/dev/null
+               then
+                   # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+                   # Return netbsd for either.  FIX?
+                   os=netbsd
+               else
+                   os=netbsdelf
+               fi
+               ;;
+           *)
+               os=netbsd
+               ;;
+       esac
+       # The OS release
+       # Debian GNU/NetBSD machines have a different userland, and
+       # thus, need a distinct triplet. However, they do not need
+       # kernel version information, so it can be replaced with a
+       # suitable tag, in the style of linux-gnu.
+       case "${UNAME_VERSION}" in
+           Debian*)
+               release='-gnu'
+               ;;
+           *)
+               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+               ;;
+       esac
+       # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+       # contains redundant information, the shorter form:
+       # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+       echo "${machine}-${os}${release}"
+       exit 0 ;;
+    amd64:OpenBSD:*:*)
+       echo x86_64-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    amiga:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    cats:OpenBSD:*:*)
+       echo arm-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    hp300:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    luna88k:OpenBSD:*:*)
+       echo m88k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    mac68k:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    macppc:OpenBSD:*:*)
+       echo powerpc-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    mvme68k:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    mvme88k:OpenBSD:*:*)
+       echo m88k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    mvmeppc:OpenBSD:*:*)
+       echo powerpc-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    sgi:OpenBSD:*:*)
+       echo mips64-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    sun3:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    *:OpenBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    *:ekkoBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+       exit 0 ;;
+    macppc:MirBSD:*:*)
+       echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+       exit 0 ;;
+    *:MirBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+       exit 0 ;;
+    alpha:OSF1:*:*)
+       case $UNAME_RELEASE in
+       *4.0)
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+               ;;
+       *5.*)
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+               ;;
+       esac
+       # According to Compaq, /usr/sbin/psrinfo has been available on
+       # OSF/1 and Tru64 systems produced since 1995.  I hope that
+       # covers most systems running today.  This code pipes the CPU
+       # types through head -n 1, so we only detect the type of CPU 0.
+       ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+       case "$ALPHA_CPU_TYPE" in
+           "EV4 (21064)")
+               UNAME_MACHINE="alpha" ;;
+           "EV4.5 (21064)")
+               UNAME_MACHINE="alpha" ;;
+           "LCA4 (21066/21068)")
+               UNAME_MACHINE="alpha" ;;
+           "EV5 (21164)")
+               UNAME_MACHINE="alphaev5" ;;
+           "EV5.6 (21164A)")
+               UNAME_MACHINE="alphaev56" ;;
+           "EV5.6 (21164PC)")
+               UNAME_MACHINE="alphapca56" ;;
+           "EV5.7 (21164PC)")
+               UNAME_MACHINE="alphapca57" ;;
+           "EV6 (21264)")
+               UNAME_MACHINE="alphaev6" ;;
+           "EV6.7 (21264A)")
+               UNAME_MACHINE="alphaev67" ;;
+           "EV6.8CB (21264C)")
+               UNAME_MACHINE="alphaev68" ;;
+           "EV6.8AL (21264B)")
+               UNAME_MACHINE="alphaev68" ;;
+           "EV6.8CX (21264D)")
+               UNAME_MACHINE="alphaev68" ;;
+           "EV6.9A (21264/EV69A)")
+               UNAME_MACHINE="alphaev69" ;;
+           "EV7 (21364)")
+               UNAME_MACHINE="alphaev7" ;;
+           "EV7.9 (21364A)")
+               UNAME_MACHINE="alphaev79" ;;
+       esac
+       # A Pn.n version is a patched version.
+       # A Vn.n version is a released version.
+       # A Tn.n version is a released field test version.
+       # A Xn.n version is an unreleased experimental baselevel.
+       # 1.2 uses "1.2" for uname -r.
+       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+       exit 0 ;;
+    Alpha\ *:Windows_NT*:*)
+       # How do we know it's Interix rather than the generic POSIX subsystem?
+       # Should we change UNAME_MACHINE based on the output of uname instead
+       # of the specific Alpha model?
+       echo alpha-pc-interix
+       exit 0 ;;
+    21064:Windows_NT:50:3)
+       echo alpha-dec-winnt3.5
+       exit 0 ;;
+    Amiga*:UNIX_System_V:4.0:*)
+       echo m68k-unknown-sysv4
+       exit 0;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+       echo ${UNAME_MACHINE}-unknown-amigaos
+       exit 0 ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+       echo ${UNAME_MACHINE}-unknown-morphos
+       exit 0 ;;
+    *:OS/390:*:*)
+       echo i370-ibm-openedition
+       exit 0 ;;
+    *:z/VM:*:*)
+       echo s390-ibm-zvmoe
+       exit 0 ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+       exit 0 ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+       echo arm-acorn-riscix${UNAME_RELEASE}
+       exit 0;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+       echo hppa1.1-hitachi-hiuxmpp
+       exit 0;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+       # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+       if test "`(/bin/universe) 2>/dev/null`" = att ; then
+               echo pyramid-pyramid-sysv3
+       else
+               echo pyramid-pyramid-bsd
+       fi
+       exit 0 ;;
+    NILE*:*:*:dcosx)
+       echo pyramid-pyramid-svr4
+       exit 0 ;;
+    DRS?6000:unix:4.0:6*)
+       echo sparc-icl-nx6
+       exit 0 ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+       case `/usr/bin/uname -p` in
+           sparc) echo sparc-icl-nx7 && exit 0 ;;
+       esac ;;
+    sun4H:SunOS:5.*:*)
+       echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit 0 ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit 0 ;;
+    i86pc:SunOS:5.*:*)
+       echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit 0 ;;
+    sun4*:SunOS:6*:*)
+       # According to config.sub, this is the proper way to canonicalize
+       # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+       # it's likely to be more like Solaris than SunOS4.
+       echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit 0 ;;
+    sun4*:SunOS:*:*)
+       case "`/usr/bin/arch -k`" in
+           Series*|S4*)
+               UNAME_RELEASE=`uname -v`
+               ;;
+       esac
+       # Japanese Language versions have a version number like `4.1.3-JL'.
+       echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+       exit 0 ;;
+    sun3*:SunOS:*:*)
+       echo m68k-sun-sunos${UNAME_RELEASE}
+       exit 0 ;;
+    sun*:*:4.2BSD:*)
+       UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+       test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+       case "`/bin/arch`" in
+           sun3)
+               echo m68k-sun-sunos${UNAME_RELEASE}
+               ;;
+           sun4)
+               echo sparc-sun-sunos${UNAME_RELEASE}
+               ;;
+       esac
+       exit 0 ;;
+    aushp:SunOS:*:*)
+       echo sparc-auspex-sunos${UNAME_RELEASE}
+       exit 0 ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+       exit 0 ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+       echo m68k-atari-mint${UNAME_RELEASE}
+        exit 0 ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+       exit 0 ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit 0 ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit 0 ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit 0 ;;
+    m68k:machten:*:*)
+       echo m68k-apple-machten${UNAME_RELEASE}
+       exit 0 ;;
+    powerpc:machten:*:*)
+       echo powerpc-apple-machten${UNAME_RELEASE}
+       exit 0 ;;
+    RISC*:Mach:*:*)
+       echo mips-dec-mach_bsd4.3
+       exit 0 ;;
+    RISC*:ULTRIX:*:*)
+       echo mips-dec-ultrix${UNAME_RELEASE}
+       exit 0 ;;
+    VAX*:ULTRIX*:*:*)
+       echo vax-dec-ultrix${UNAME_RELEASE}
+       exit 0 ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+       echo clipper-intergraph-clix${UNAME_RELEASE}
+       exit 0 ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+       int main (int argc, char *argv[]) {
+#else
+       int main (argc, argv) int argc; char *argv[]; {
+#endif
+       #if defined (host_mips) && defined (MIPSEB)
+       #if defined (SYSTYPE_SYSV)
+         printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+       #endif
+       #if defined (SYSTYPE_SVR4)
+         printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+       #endif
+       #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+         printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+       #endif
+       #endif
+         exit (-1);
+       }
+EOF
+       $CC_FOR_BUILD -o $dummy $dummy.c \
+         && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+         && exit 0
+       echo mips-mips-riscos${UNAME_RELEASE}
+       exit 0 ;;
+    Motorola:PowerMAX_OS:*:*)
+       echo powerpc-motorola-powermax
+       exit 0 ;;
+    Motorola:*:4.3:PL8-*)
+       echo powerpc-harris-powermax
+       exit 0 ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+       echo powerpc-harris-powermax
+       exit 0 ;;
+    Night_Hawk:Power_UNIX:*:*)
+       echo powerpc-harris-powerunix
+       exit 0 ;;
+    m88k:CX/UX:7*:*)
+       echo m88k-harris-cxux7
+       exit 0 ;;
+    m88k:*:4*:R4*)
+       echo m88k-motorola-sysv4
+       exit 0 ;;
+    m88k:*:3*:R3*)
+       echo m88k-motorola-sysv3
+       exit 0 ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+       then
+           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+              [ ${TARGET_BINARY_INTERFACE}x = x ]
+           then
+               echo m88k-dg-dgux${UNAME_RELEASE}
+           else
+               echo m88k-dg-dguxbcs${UNAME_RELEASE}
+           fi
+       else
+           echo i586-dg-dgux${UNAME_RELEASE}
+       fi
+       exit 0 ;;
+    M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
+       echo m88k-dolphin-sysv3
+       exit 0 ;;
+    M88*:*:R3*:*)
+       # Delta 88k system running SVR3
+       echo m88k-motorola-sysv3
+       exit 0 ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+       echo m88k-tektronix-sysv3
+       exit 0 ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+       echo m68k-tektronix-bsd
+       exit 0 ;;
+    *:IRIX*:*:*)
+       echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+       exit 0 ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+       echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
+       exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+       echo i386-ibm-aix
+       exit 0 ;;
+    ia64:AIX:*:*)
+       if [ -x /usr/bin/oslevel ] ; then
+               IBM_REV=`/usr/bin/oslevel`
+       else
+               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+       fi
+       echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+       exit 0 ;;
+    *:AIX:2:3)
+       if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+               eval $set_cc_for_build
+               sed 's/^                //' << EOF >$dummy.c
+               #include <sys/systemcfg.h>
+
+               main()
+                       {
+                       if (!__power_pc())
+                               exit(1);
+                       puts("powerpc-ibm-aix3.2.5");
+                       exit(0);
+                       }
+EOF
+               $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+               echo rs6000-ibm-aix3.2.5
+       elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+               echo rs6000-ibm-aix3.2.4
+       else
+               echo rs6000-ibm-aix3.2
+       fi
+       exit 0 ;;
+    *:AIX:*:[45])
+       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+       if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+               IBM_ARCH=rs6000
+       else
+               IBM_ARCH=powerpc
+       fi
+       if [ -x /usr/bin/oslevel ] ; then
+               IBM_REV=`/usr/bin/oslevel`
+       else
+               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+       fi
+       echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+       exit 0 ;;
+    *:AIX:*:*)
+       echo rs6000-ibm-aix
+       exit 0 ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+       echo romp-ibm-bsd4.4
+       exit 0 ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+       echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+       exit 0 ;;                           # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+       echo rs6000-bull-bosx
+       exit 0 ;;
+    DPX/2?00:B.O.S.:*:*)
+       echo m68k-bull-sysv3
+       exit 0 ;;
+    9000/[34]??:4.3bsd:1.*:*)
+       echo m68k-hp-bsd
+       exit 0 ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+       echo m68k-hp-bsd4.4
+       exit 0 ;;
+    9000/[34678]??:HP-UX:*:*)
+       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+       case "${UNAME_MACHINE}" in
+           9000/31? )            HP_ARCH=m68000 ;;
+           9000/[34]?? )         HP_ARCH=m68k ;;
+           9000/[678][0-9][0-9])
+               if [ -x /usr/bin/getconf ]; then
+                   sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                        esac ;;
+                    esac
+               fi
+               if [ "${HP_ARCH}" = "" ]; then
+                   eval $set_cc_for_build
+                   sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+               {
+               case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+               case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+               case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+                   switch (bits)
+                       {
+                       case 64: puts ("hppa2.0w"); break;
+                       case 32: puts ("hppa2.0n"); break;
+                       default: puts ("hppa2.0"); break;
+                       } break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+                   puts ("hppa2.0"); break;
+              #endif
+               default: puts ("hppa1.0"); break;
+               }
+                  exit (0);
+              }
+EOF
+                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+                   test -z "$HP_ARCH" && HP_ARCH=hppa
+               fi ;;
+       esac
+       if [ ${HP_ARCH} = "hppa2.0w" ]
+       then
+           # avoid double evaluation of $set_cc_for_build
+           test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
+           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
+           then
+               HP_ARCH="hppa2.0w"
+           else
+               HP_ARCH="hppa64"
+           fi
+       fi
+       echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+       exit 0 ;;
+    ia64:HP-UX:*:*)
+       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+       echo ia64-hp-hpux${HPUX_REV}
+       exit 0 ;;
+    3050*:HI-UX:*:*)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #include <unistd.h>
+       int
+       main ()
+       {
+         long cpu = sysconf (_SC_CPU_VERSION);
+         /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+            true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+            results, however.  */
+         if (CPU_IS_PA_RISC (cpu))
+           {
+             switch (cpu)
+               {
+                 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+                 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+                 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+                 default: puts ("hppa-hitachi-hiuxwe2"); break;
+               }
+           }
+         else if (CPU_IS_HP_MC68K (cpu))
+           puts ("m68k-hitachi-hiuxwe2");
+         else puts ("unknown-hitachi-hiuxwe2");
+         exit (0);
+       }
+EOF
+       $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+       echo unknown-hitachi-hiuxwe2
+       exit 0 ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+       echo hppa1.1-hp-bsd
+       exit 0 ;;
+    9000/8??:4.3bsd:*:*)
+       echo hppa1.0-hp-bsd
+       exit 0 ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+       echo hppa1.0-hp-mpeix
+       exit 0 ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+       echo hppa1.1-hp-osf
+       exit 0 ;;
+    hp8??:OSF1:*:*)
+       echo hppa1.0-hp-osf
+       exit 0 ;;
+    i*86:OSF1:*:*)
+       if [ -x /usr/sbin/sysversion ] ; then
+           echo ${UNAME_MACHINE}-unknown-osf1mk
+       else
+           echo ${UNAME_MACHINE}-unknown-osf1
+       fi
+       exit 0 ;;
+    parisc*:Lites*:*:*)
+       echo hppa1.1-hp-lites
+       exit 0 ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+       echo c1-convex-bsd
+        exit 0 ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+       if getsysinfo -f scalar_acc
+       then echo c32-convex-bsd
+       else echo c2-convex-bsd
+       fi
+        exit 0 ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+       echo c34-convex-bsd
+        exit 0 ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+       echo c38-convex-bsd
+        exit 0 ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+       echo c4-convex-bsd
+        exit 0 ;;
+    CRAY*Y-MP:*:*:*)
+       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit 0 ;;
+    CRAY*[A-Z]90:*:*:*)
+       echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+       | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+             -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+             -e 's/\.[^.]*$/.X/'
+       exit 0 ;;
+    CRAY*TS:*:*:*)
+       echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit 0 ;;
+    CRAY*T3E:*:*:*)
+       echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit 0 ;;
+    CRAY*SV1:*:*:*)
+       echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit 0 ;;
+    *:UNICOS/mp:*:*)
+       echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit 0 ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit 0 ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+       exit 0 ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+       exit 0 ;;
+    sparc*:BSD/OS:*:*)
+       echo sparc-unknown-bsdi${UNAME_RELEASE}
+       exit 0 ;;
+    *:BSD/OS:*:*)
+       echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+       exit 0 ;;
+    *:FreeBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       exit 0 ;;
+    i*:CYGWIN*:*)
+       echo ${UNAME_MACHINE}-pc-cygwin
+       exit 0 ;;
+    i*:MINGW*:*)
+       echo ${UNAME_MACHINE}-pc-mingw32
+       exit 0 ;;
+    i*:PW*:*)
+       echo ${UNAME_MACHINE}-pc-pw32
+       exit 0 ;;
+    x86:Interix*:[34]*)
+       echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
+       exit 0 ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+       echo i${UNAME_MACHINE}-pc-mks
+       exit 0 ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+       # How do we know it's Interix rather than the generic POSIX subsystem?
+       # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+       # UNAME_MACHINE based on the output of uname instead of i386?
+       echo i586-pc-interix
+       exit 0 ;;
+    i*:UWIN*:*)
+       echo ${UNAME_MACHINE}-pc-uwin
+       exit 0 ;;
+    amd64:CYGWIN*:*:*)
+       echo x86_64-unknown-cygwin
+       exit 0 ;;
+    p*:CYGWIN*:*)
+       echo powerpcle-unknown-cygwin
+       exit 0 ;;
+    prep*:SunOS:5.*:*)
+       echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit 0 ;;
+    *:GNU:*:*)
+       # the GNU system
+       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+       exit 0 ;;
+    *:GNU/*:*:*)
+       # other systems with GNU libc and userland
+       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+       exit 0 ;;
+    i*86:Minix:*:*)
+       echo ${UNAME_MACHINE}-pc-minix
+       exit 0 ;;
+    arm*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit 0 ;;
+    cris:Linux:*:*)
+       echo cris-axis-linux-gnu
+       exit 0 ;;
+    crisv32:Linux:*:*)
+       echo crisv32-axis-linux-gnu
+       exit 0 ;;
+    frv:Linux:*:*)
+       echo frv-unknown-linux-gnu
+       exit 0 ;;
+    ia64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit 0 ;;
+    m32r*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit 0 ;;
+    m68*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit 0 ;;
+    mips:Linux:*:*)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #undef CPU
+       #undef mips
+       #undef mipsel
+       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+       CPU=mipsel
+       #else
+       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+       CPU=mips
+       #else
+       CPU=
+       #endif
+       #endif
+EOF
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+       test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+       ;;
+    mips64:Linux:*:*)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #undef CPU
+       #undef mips64
+       #undef mips64el
+       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+       CPU=mips64el
+       #else
+       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+       CPU=mips64
+       #else
+       CPU=
+       #endif
+       #endif
+EOF
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+       test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+       ;;
+    ppc:Linux:*:*)
+       echo powerpc-unknown-linux-gnu
+       exit 0 ;;
+    ppc64:Linux:*:*)
+       echo powerpc64-unknown-linux-gnu
+       exit 0 ;;
+    alpha:Linux:*:*)
+       case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+         EV5)   UNAME_MACHINE=alphaev5 ;;
+         EV56)  UNAME_MACHINE=alphaev56 ;;
+         PCA56) UNAME_MACHINE=alphapca56 ;;
+         PCA57) UNAME_MACHINE=alphapca56 ;;
+         EV6)   UNAME_MACHINE=alphaev6 ;;
+         EV67)  UNAME_MACHINE=alphaev67 ;;
+         EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+       objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+       if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+       echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+       exit 0 ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+       # Look for CPU level
+       case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+         PA7*) echo hppa1.1-unknown-linux-gnu ;;
+         PA8*) echo hppa2.0-unknown-linux-gnu ;;
+         *)    echo hppa-unknown-linux-gnu ;;
+       esac
+       exit 0 ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+       echo hppa64-unknown-linux-gnu
+       exit 0 ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+       echo ${UNAME_MACHINE}-ibm-linux
+       exit 0 ;;
+    sh64*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit 0 ;;
+    sh*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit 0 ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit 0 ;;
+    x86_64:Linux:*:*)
+       echo x86_64-unknown-linux-gnu
+       exit 0 ;;
+    i*86:Linux:*:*)
+       # The BFD linker knows what the default object file format is, so
+       # first see if it will tell us. cd to the root directory to prevent
+       # problems with other programs or directories called `ld' in the path.
+       # Set LC_ALL=C to ensure ld outputs messages in English.
+       ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+                        | sed -ne '/supported targets:/!d
+                                   s/[         ][      ]*/ /g
+                                   s/.*supported targets: *//
+                                   s/ .*//
+                                   p'`
+        case "$ld_supported_targets" in
+         elf32-i386)
+               TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+               ;;
+         a.out-i386-linux)
+               echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+               exit 0 ;;
+         coff-i386)
+               echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+               exit 0 ;;
+         "")
+               # Either a pre-BFD a.out linker (linux-gnuoldld) or
+               # one that does not give us useful --help.
+               echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+               exit 0 ;;
+       esac
+       # Determine whether the default compiler is a.out or elf
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #include <features.h>
+       #ifdef __ELF__
+       # ifdef __GLIBC__
+       #  if __GLIBC__ >= 2
+       LIBC=gnu
+       #  else
+       LIBC=gnulibc1
+       #  endif
+       # else
+       LIBC=gnulibc1
+       # endif
+       #else
+       #ifdef __INTEL_COMPILER
+       LIBC=gnu
+       #else
+       LIBC=gnuaout
+       #endif
+       #endif
+       #ifdef __dietlibc__
+       LIBC=dietlibc
+       #endif
+EOF
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+       test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
+       test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
+       ;;
+    i*86:DYNIX/ptx:4*:*)
+       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+       # earlier versions are messed up and put the nodename in both
+       # sysname and nodename.
+       echo i386-sequent-sysv4
+       exit 0 ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+       # I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+       exit 0 ;;
+    i*86:OS/2:*:*)
+       # If we were able to find `uname', then EMX Unix compatibility
+       # is probably installed.
+       echo ${UNAME_MACHINE}-pc-os2-emx
+       exit 0 ;;
+    i*86:XTS-300:*:STOP)
+       echo ${UNAME_MACHINE}-unknown-stop
+       exit 0 ;;
+    i*86:atheos:*:*)
+       echo ${UNAME_MACHINE}-unknown-atheos
+       exit 0 ;;
+       i*86:syllable:*:*)
+       echo ${UNAME_MACHINE}-pc-syllable
+       exit 0 ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+       echo i386-unknown-lynxos${UNAME_RELEASE}
+       exit 0 ;;
+    i*86:*DOS:*:*)
+       echo ${UNAME_MACHINE}-pc-msdosdjgpp
+       exit 0 ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+       UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+       if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+               echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+       else
+               echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+       fi
+       exit 0 ;;
+    i*86:*:5:[78]*)
+       case `/bin/uname -X | grep "^Machine"` in
+           *486*)           UNAME_MACHINE=i486 ;;
+           *Pentium)        UNAME_MACHINE=i586 ;;
+           *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+       esac
+       echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+       exit 0 ;;
+    i*86:*:3.2:*)
+       if test -f /usr/options/cb.name; then
+               UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+               echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+       elif /bin/uname -X 2>/dev/null >/dev/null ; then
+               UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+               (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+               (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+                       && UNAME_MACHINE=i586
+               (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+                       && UNAME_MACHINE=i686
+               (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+                       && UNAME_MACHINE=i686
+               echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+       else
+               echo ${UNAME_MACHINE}-pc-sysv32
+       fi
+       exit 0 ;;
+    pc:*:*:*)
+       # Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i386.
+       echo i386-pc-msdosdjgpp
+        exit 0 ;;
+    Intel:Mach:3*:*)
+       echo i386-pc-mach3
+       exit 0 ;;
+    paragon:*:*:*)
+       echo i860-intel-osf1
+       exit 0 ;;
+    i860:*:4.*:*) # i860-SVR4
+       if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+         echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+       else # Add other i860-SVR4 vendors below as they are discovered.
+         echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+       fi
+       exit 0 ;;
+    mini*:CTIX:SYS*5:*)
+       # "miniframe"
+       echo m68010-convergent-sysv
+       exit 0 ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+       echo m68k-convergent-sysv
+       exit 0 ;;
+    M680?0:D-NIX:5.3:*)
+       echo m68k-diab-dnix
+       exit 0 ;;
+    M68*:*:R3V[5678]*:*)
+       test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+       OS_REL=''
+       test -r /etc/.relid \
+       && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+         && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+         && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && echo i486-ncr-sysv4 && exit 0 ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+       echo m68k-unknown-lynxos${UNAME_RELEASE}
+       exit 0 ;;
+    mc68030:UNIX_System_V:4.*:*)
+       echo m68k-atari-sysv4
+       exit 0 ;;
+    TSUNAMI:LynxOS:2.*:*)
+       echo sparc-unknown-lynxos${UNAME_RELEASE}
+       exit 0 ;;
+    rs6000:LynxOS:2.*:*)
+       echo rs6000-unknown-lynxos${UNAME_RELEASE}
+       exit 0 ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+       echo powerpc-unknown-lynxos${UNAME_RELEASE}
+       exit 0 ;;
+    SM[BE]S:UNIX_SV:*:*)
+       echo mips-dde-sysv${UNAME_RELEASE}
+       exit 0 ;;
+    RM*:ReliantUNIX-*:*:*)
+       echo mips-sni-sysv4
+       exit 0 ;;
+    RM*:SINIX-*:*:*)
+       echo mips-sni-sysv4
+       exit 0 ;;
+    *:SINIX-*:*:*)
+       if uname -p 2>/dev/null >/dev/null ; then
+               UNAME_MACHINE=`(uname -p) 2>/dev/null`
+               echo ${UNAME_MACHINE}-sni-sysv4
+       else
+               echo ns32k-sni-sysv
+       fi
+       exit 0 ;;
+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                      # says <Richard.M.Bartel@ccMail.Census.GOV>
+        echo i586-unisys-sysv4
+        exit 0 ;;
+    *:UNIX_System_V:4*:FTX*)
+       # From Gerald Hewes <hewes@openmarket.com>.
+       # How about differentiating between stratus architectures? -djm
+       echo hppa1.1-stratus-sysv4
+       exit 0 ;;
+    *:*:*:FTX*)
+       # From seanf@swdc.stratus.com.
+       echo i860-stratus-sysv4
+       exit 0 ;;
+    i*86:VOS:*:*)
+       # From Paul.Green@stratus.com.
+       echo ${UNAME_MACHINE}-stratus-vos
+       exit 0 ;;
+    *:VOS:*:*)
+       # From Paul.Green@stratus.com.
+       echo hppa1.1-stratus-vos
+       exit 0 ;;
+    mc68*:A/UX:*:*)
+       echo m68k-apple-aux${UNAME_RELEASE}
+       exit 0 ;;
+    news*:NEWS-OS:6*:*)
+       echo mips-sony-newsos6
+       exit 0 ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+       if [ -d /usr/nec ]; then
+               echo mips-nec-sysv${UNAME_RELEASE}
+       else
+               echo mips-unknown-sysv${UNAME_RELEASE}
+       fi
+        exit 0 ;;
+    BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
+       echo powerpc-be-beos
+       exit 0 ;;
+    BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
+       echo powerpc-apple-beos
+       exit 0 ;;
+    BePC:BeOS:*:*)     # BeOS running on Intel PC compatible.
+       echo i586-pc-beos
+       exit 0 ;;
+    SX-4:SUPER-UX:*:*)
+       echo sx4-nec-superux${UNAME_RELEASE}
+       exit 0 ;;
+    SX-5:SUPER-UX:*:*)
+       echo sx5-nec-superux${UNAME_RELEASE}
+       exit 0 ;;
+    SX-6:SUPER-UX:*:*)
+       echo sx6-nec-superux${UNAME_RELEASE}
+       exit 0 ;;
+    Power*:Rhapsody:*:*)
+       echo powerpc-apple-rhapsody${UNAME_RELEASE}
+       exit 0 ;;
+    *:Rhapsody:*:*)
+       echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+       exit 0 ;;
+    *:Darwin:*:*)
+       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+       case $UNAME_PROCESSOR in
+           *86) UNAME_PROCESSOR=i686 ;;
+           unknown) UNAME_PROCESSOR=powerpc ;;
+       esac
+       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+       exit 0 ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+       UNAME_PROCESSOR=`uname -p`
+       if test "$UNAME_PROCESSOR" = "x86"; then
+               UNAME_PROCESSOR=i386
+               UNAME_MACHINE=pc
+       fi
+       echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+       exit 0 ;;
+    *:QNX:*:4*)
+       echo i386-pc-qnx
+       exit 0 ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+       echo nse-tandem-nsk${UNAME_RELEASE}
+       exit 0 ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+       echo nsr-tandem-nsk${UNAME_RELEASE}
+       exit 0 ;;
+    *:NonStop-UX:*:*)
+       echo mips-compaq-nonstopux
+       exit 0 ;;
+    BS2000:POSIX*:*:*)
+       echo bs2000-siemens-sysv
+       exit 0 ;;
+    DS/*:UNIX_System_V:*:*)
+       echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+       exit 0 ;;
+    *:Plan9:*:*)
+       # "uname -m" is not consistent, so use $cputype instead. 386
+       # is converted to i386 for consistency with other x86
+       # operating systems.
+       if test "$cputype" = "386"; then
+           UNAME_MACHINE=i386
+       else
+           UNAME_MACHINE="$cputype"
+       fi
+       echo ${UNAME_MACHINE}-unknown-plan9
+       exit 0 ;;
+    *:TOPS-10:*:*)
+       echo pdp10-unknown-tops10
+       exit 0 ;;
+    *:TENEX:*:*)
+       echo pdp10-unknown-tenex
+       exit 0 ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+       echo pdp10-dec-tops20
+       exit 0 ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+       echo pdp10-xkl-tops20
+       exit 0 ;;
+    *:TOPS-20:*:*)
+       echo pdp10-unknown-tops20
+       exit 0 ;;
+    *:ITS:*:*)
+       echo pdp10-unknown-its
+       exit 0 ;;
+    SEI:*:*:SEIUX)
+        echo mips-sei-seiux${UNAME_RELEASE}
+       exit 0 ;;
+    *:DragonFly:*:*)
+       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       exit 0 ;;
+    *:*VMS:*:*)
+       UNAME_MACHINE=`(uname -p) 2>/dev/null`
+       case "${UNAME_MACHINE}" in
+           A*) echo alpha-dec-vms && exit 0 ;;
+           I*) echo ia64-dec-vms && exit 0 ;;
+           V*) echo vax-dec-vms && exit 0 ;;
+       esac ;;
+    *:XENIX:*:SysV)
+       echo i386-pc-xenix
+       exit 0 ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+         ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+       printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+       printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+       echo c1-convex-bsd
+       exit 0 ;;
+    c2*)
+       if getsysinfo -f scalar_acc
+       then echo c32-convex-bsd
+       else echo c2-convex-bsd
+       fi
+       exit 0 ;;
+    c34*)
+       echo c34-convex-bsd
+       exit 0 ;;
+    c38*)
+       echo c38-convex-bsd
+       exit 0 ;;
+    c4*)
+       echo c4-convex-bsd
+       exit 0 ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+and
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/config.sub b/config.sub
new file mode 100644 (file)
index 0000000..87a1ee4
--- /dev/null
@@ -0,0 +1,1569 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+timestamp='2005-04-22'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#      CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit 0 ;;
+    --version | -v )
+       echo "$version" ; exit 0 ;;
+    --help | --h* | -h )
+       echo "$usage"; exit 0 ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )        # Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit 0;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
+  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+       -sun*os*)
+               # Prevent following clause from handling this invalid input.
+               ;;
+       -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+       -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+       -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+       -apple | -axis | -knuth | -cray)
+               os=
+               basic_machine=$1
+               ;;
+       -sim | -cisco | -oki | -wec | -winbond)
+               os=
+               basic_machine=$1
+               ;;
+       -scout)
+               ;;
+       -wrs)
+               os=-vxworks
+               basic_machine=$1
+               ;;
+       -chorusos*)
+               os=-chorusos
+               basic_machine=$1
+               ;;
+       -chorusrdb)
+               os=-chorusrdb
+               basic_machine=$1
+               ;;
+       -hiux*)
+               os=-hiuxwe2
+               ;;
+       -sco5)
+               os=-sco3.2v5
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco4)
+               os=-sco3.2v4
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco3.2.[4-9]*)
+               os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco3.2v[4-9]*)
+               # Don't forget version if it is 3.2v4 or newer.
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco*)
+               os=-sco3.2v2
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -udk*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -isc)
+               os=-isc2.2
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -clix*)
+               basic_machine=clipper-intergraph
+               ;;
+       -isc*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -lynx*)
+               os=-lynxos
+               ;;
+       -ptx*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+               ;;
+       -windowsnt*)
+               os=`echo $os | sed -e 's/windowsnt/winnt/'`
+               ;;
+       -psos*)
+               os=-psos
+               ;;
+       -mint | -mint[0-9]*)
+               basic_machine=m68k-atari
+               os=-mint
+               ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+       # Recognize the basic CPU types without company name.
+       # Some are omitted here because they have special meanings below.
+       1750a | 580 \
+       | a29k \
+       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+       | am33_2.0 \
+       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+       | bfin \
+       | c4x | clipper \
+       | d10v | d30v | dlx | dsp16xx \
+       | fr30 | frv \
+       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+       | i370 | i860 | i960 | ia64 \
+       | ip2k | iq2000 \
+       | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
+       | mips | mipsbe | mipseb | mipsel | mipsle \
+       | mips16 \
+       | mips64 | mips64el \
+       | mips64vr | mips64vrel \
+       | mips64orion | mips64orionel \
+       | mips64vr4100 | mips64vr4100el \
+       | mips64vr4300 | mips64vr4300el \
+       | mips64vr5000 | mips64vr5000el \
+       | mipsisa32 | mipsisa32el \
+       | mipsisa32r2 | mipsisa32r2el \
+       | mipsisa64 | mipsisa64el \
+       | mipsisa64r2 | mipsisa64r2el \
+       | mipsisa64sb1 | mipsisa64sb1el \
+       | mipsisa64sr71k | mipsisa64sr71kel \
+       | mipstx39 | mipstx39el \
+       | mn10200 | mn10300 \
+       | msp430 \
+       | ns16k | ns32k \
+       | openrisc | or32 \
+       | pdp10 | pdp11 | pj | pjl \
+       | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+       | pyramid \
+       | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+       | sh64 | sh64le \
+       | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
+       | sparcv8 | sparcv9 | sparcv9b \
+       | strongarm \
+       | tahoe | thumb | tic4x | tic80 | tron \
+       | v850 | v850e \
+       | we32k \
+       | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
+       | z8k)
+               basic_machine=$basic_machine-unknown
+               ;;
+       m6811 | m68hc11 | m6812 | m68hc12)
+               # Motorola 68HC11/12.
+               basic_machine=$basic_machine-unknown
+               os=-none
+               ;;
+       m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+               ;;
+
+       # We use `pc' rather than `unknown'
+       # because (1) that's what they normally are, and
+       # (2) the word "unknown" tends to confuse beginning users.
+       i*86 | x86_64)
+         basic_machine=$basic_machine-pc
+         ;;
+       # Object if more than one company name word.
+       *-*-*)
+               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+               exit 1
+               ;;
+       # Recognize the basic CPU types with company name.
+       580-* \
+       | a29k-* \
+       | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+       | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+       | avr-* \
+       | bfin-* | bs2000-* \
+       | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+       | clipper-* | craynv-* | cydra-* \
+       | d10v-* | d30v-* | dlx-* \
+       | elxsi-* \
+       | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+       | h8300-* | h8500-* \
+       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+       | i*86-* | i860-* | i960-* | ia64-* \
+       | ip2k-* | iq2000-* \
+       | m32r-* | m32rle-* \
+       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+       | m88110-* | m88k-* | maxq-* | mcore-* \
+       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+       | mips16-* \
+       | mips64-* | mips64el-* \
+       | mips64vr-* | mips64vrel-* \
+       | mips64orion-* | mips64orionel-* \
+       | mips64vr4100-* | mips64vr4100el-* \
+       | mips64vr4300-* | mips64vr4300el-* \
+       | mips64vr5000-* | mips64vr5000el-* \
+       | mipsisa32-* | mipsisa32el-* \
+       | mipsisa32r2-* | mipsisa32r2el-* \
+       | mipsisa64-* | mipsisa64el-* \
+       | mipsisa64r2-* | mipsisa64r2el-* \
+       | mipsisa64sb1-* | mipsisa64sb1el-* \
+       | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+       | mipstx39-* | mipstx39el-* \
+       | mmix-* \
+       | msp430-* \
+       | none-* | np1-* | ns16k-* | ns32k-* \
+       | orion-* \
+       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+       | pyramid-* \
+       | romp-* | rs6000-* \
+       | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+       | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
+       | sparclite-* \
+       | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+       | tahoe-* | thumb-* \
+       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+       | tron-* \
+       | v850-* | v850e-* | vax-* \
+       | we32k-* \
+       | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+       | xstormy16-* | xtensa-* \
+       | ymp-* \
+       | z8k-*)
+               ;;
+       # Recognize the various machine names and aliases which stand
+       # for a CPU type and a company and sometimes even an OS.
+       386bsd)
+               basic_machine=i386-unknown
+               os=-bsd
+               ;;
+       3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+               basic_machine=m68000-att
+               ;;
+       3b*)
+               basic_machine=we32k-att
+               ;;
+       a29khif)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       abacus)
+               basic_machine=abacus-unknown
+               ;;
+       adobe68k)
+               basic_machine=m68010-adobe
+               os=-scout
+               ;;
+       alliant | fx80)
+               basic_machine=fx80-alliant
+               ;;
+       altos | altos3068)
+               basic_machine=m68k-altos
+               ;;
+       am29k)
+               basic_machine=a29k-none
+               os=-bsd
+               ;;
+       amd64)
+               basic_machine=x86_64-pc
+               ;;
+       amd64-*)
+               basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       amdahl)
+               basic_machine=580-amdahl
+               os=-sysv
+               ;;
+       amiga | amiga-*)
+               basic_machine=m68k-unknown
+               ;;
+       amigaos | amigados)
+               basic_machine=m68k-unknown
+               os=-amigaos
+               ;;
+       amigaunix | amix)
+               basic_machine=m68k-unknown
+               os=-sysv4
+               ;;
+       apollo68)
+               basic_machine=m68k-apollo
+               os=-sysv
+               ;;
+       apollo68bsd)
+               basic_machine=m68k-apollo
+               os=-bsd
+               ;;
+       aux)
+               basic_machine=m68k-apple
+               os=-aux
+               ;;
+       balance)
+               basic_machine=ns32k-sequent
+               os=-dynix
+               ;;
+       c90)
+               basic_machine=c90-cray
+               os=-unicos
+               ;;
+       convex-c1)
+               basic_machine=c1-convex
+               os=-bsd
+               ;;
+       convex-c2)
+               basic_machine=c2-convex
+               os=-bsd
+               ;;
+       convex-c32)
+               basic_machine=c32-convex
+               os=-bsd
+               ;;
+       convex-c34)
+               basic_machine=c34-convex
+               os=-bsd
+               ;;
+       convex-c38)
+               basic_machine=c38-convex
+               os=-bsd
+               ;;
+       cray | j90)
+               basic_machine=j90-cray
+               os=-unicos
+               ;;
+       craynv)
+               basic_machine=craynv-cray
+               os=-unicosmp
+               ;;
+       cr16c)
+               basic_machine=cr16c-unknown
+               os=-elf
+               ;;
+       crds | unos)
+               basic_machine=m68k-crds
+               ;;
+       crisv32 | crisv32-* | etraxfs*)
+               basic_machine=crisv32-axis
+               ;;
+       cris | cris-* | etrax*)
+               basic_machine=cris-axis
+               ;;
+       crx)
+               basic_machine=crx-unknown
+               os=-elf
+               ;;
+       da30 | da30-*)
+               basic_machine=m68k-da30
+               ;;
+       decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+               basic_machine=mips-dec
+               ;;
+       decsystem10* | dec10*)
+               basic_machine=pdp10-dec
+               os=-tops10
+               ;;
+       decsystem20* | dec20*)
+               basic_machine=pdp10-dec
+               os=-tops20
+               ;;
+       delta | 3300 | motorola-3300 | motorola-delta \
+             | 3300-motorola | delta-motorola)
+               basic_machine=m68k-motorola
+               ;;
+       delta88)
+               basic_machine=m88k-motorola
+               os=-sysv3
+               ;;
+       djgpp)
+               basic_machine=i586-pc
+               os=-msdosdjgpp
+               ;;
+       dpx20 | dpx20-*)
+               basic_machine=rs6000-bull
+               os=-bosx
+               ;;
+       dpx2* | dpx2*-bull)
+               basic_machine=m68k-bull
+               os=-sysv3
+               ;;
+       ebmon29k)
+               basic_machine=a29k-amd
+               os=-ebmon
+               ;;
+       elxsi)
+               basic_machine=elxsi-elxsi
+               os=-bsd
+               ;;
+       encore | umax | mmax)
+               basic_machine=ns32k-encore
+               ;;
+       es1800 | OSE68k | ose68k | ose | OSE)
+               basic_machine=m68k-ericsson
+               os=-ose
+               ;;
+       fx2800)
+               basic_machine=i860-alliant
+               ;;
+       genix)
+               basic_machine=ns32k-ns
+               ;;
+       gmicro)
+               basic_machine=tron-gmicro
+               os=-sysv
+               ;;
+       go32)
+               basic_machine=i386-pc
+               os=-go32
+               ;;
+       h3050r* | hiux*)
+               basic_machine=hppa1.1-hitachi
+               os=-hiuxwe2
+               ;;
+       h8300hms)
+               basic_machine=h8300-hitachi
+               os=-hms
+               ;;
+       h8300xray)
+               basic_machine=h8300-hitachi
+               os=-xray
+               ;;
+       h8500hms)
+               basic_machine=h8500-hitachi
+               os=-hms
+               ;;
+       harris)
+               basic_machine=m88k-harris
+               os=-sysv3
+               ;;
+       hp300-*)
+               basic_machine=m68k-hp
+               ;;
+       hp300bsd)
+               basic_machine=m68k-hp
+               os=-bsd
+               ;;
+       hp300hpux)
+               basic_machine=m68k-hp
+               os=-hpux
+               ;;
+       hp3k9[0-9][0-9] | hp9[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hp9k2[0-9][0-9] | hp9k31[0-9])
+               basic_machine=m68000-hp
+               ;;
+       hp9k3[2-9][0-9])
+               basic_machine=m68k-hp
+               ;;
+       hp9k6[0-9][0-9] | hp6[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hp9k7[0-79][0-9] | hp7[0-79][0-9])
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k78[0-9] | hp78[0-9])
+               # FIXME: really hppa2.0-hp
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+               # FIXME: really hppa2.0-hp
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[0-9][13679] | hp8[0-9][13679])
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[0-9][0-9] | hp8[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hppa-next)
+               os=-nextstep3
+               ;;
+       hppaosf)
+               basic_machine=hppa1.1-hp
+               os=-osf
+               ;;
+       hppro)
+               basic_machine=hppa1.1-hp
+               os=-proelf
+               ;;
+       i370-ibm* | ibm*)
+               basic_machine=i370-ibm
+               ;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+       i*86v32)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv32
+               ;;
+       i*86v4*)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv4
+               ;;
+       i*86v)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv
+               ;;
+       i*86sol2)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-solaris2
+               ;;
+       i386mach)
+               basic_machine=i386-mach
+               os=-mach
+               ;;
+       i386-vsta | vsta)
+               basic_machine=i386-unknown
+               os=-vsta
+               ;;
+       iris | iris4d)
+               basic_machine=mips-sgi
+               case $os in
+                   -irix*)
+                       ;;
+                   *)
+                       os=-irix4
+                       ;;
+               esac
+               ;;
+       isi68 | isi)
+               basic_machine=m68k-isi
+               os=-sysv
+               ;;
+       m88k-omron*)
+               basic_machine=m88k-omron
+               ;;
+       magnum | m3230)
+               basic_machine=mips-mips
+               os=-sysv
+               ;;
+       merlin)
+               basic_machine=ns32k-utek
+               os=-sysv
+               ;;
+       mingw32)
+               basic_machine=i386-pc
+               os=-mingw32
+               ;;
+       miniframe)
+               basic_machine=m68000-convergent
+               ;;
+       *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+               basic_machine=m68k-atari
+               os=-mint
+               ;;
+       mips3*-*)
+               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+               ;;
+       mips3*)
+               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+               ;;
+       monitor)
+               basic_machine=m68k-rom68k
+               os=-coff
+               ;;
+       morphos)
+               basic_machine=powerpc-unknown
+               os=-morphos
+               ;;
+       msdos)
+               basic_machine=i386-pc
+               os=-msdos
+               ;;
+       mvs)
+               basic_machine=i370-ibm
+               os=-mvs
+               ;;
+       ncr3000)
+               basic_machine=i486-ncr
+               os=-sysv4
+               ;;
+       netbsd386)
+               basic_machine=i386-unknown
+               os=-netbsd
+               ;;
+       netwinder)
+               basic_machine=armv4l-rebel
+               os=-linux
+               ;;
+       news | news700 | news800 | news900)
+               basic_machine=m68k-sony
+               os=-newsos
+               ;;
+       news1000)
+               basic_machine=m68030-sony
+               os=-newsos
+               ;;
+       news-3600 | risc-news)
+               basic_machine=mips-sony
+               os=-newsos
+               ;;
+       necv70)
+               basic_machine=v70-nec
+               os=-sysv
+               ;;
+       next | m*-next )
+               basic_machine=m68k-next
+               case $os in
+                   -nextstep* )
+                       ;;
+                   -ns2*)
+                     os=-nextstep2
+                       ;;
+                   *)
+                     os=-nextstep3
+                       ;;
+               esac
+               ;;
+       nh3000)
+               basic_machine=m68k-harris
+               os=-cxux
+               ;;
+       nh[45]000)
+               basic_machine=m88k-harris
+               os=-cxux
+               ;;
+       nindy960)
+               basic_machine=i960-intel
+               os=-nindy
+               ;;
+       mon960)
+               basic_machine=i960-intel
+               os=-mon960
+               ;;
+       nonstopux)
+               basic_machine=mips-compaq
+               os=-nonstopux
+               ;;
+       np1)
+               basic_machine=np1-gould
+               ;;
+       nsr-tandem)
+               basic_machine=nsr-tandem
+               ;;
+       op50n-* | op60c-*)
+               basic_machine=hppa1.1-oki
+               os=-proelf
+               ;;
+       or32 | or32-*)
+               basic_machine=or32-unknown
+               os=-coff
+               ;;
+       os400)
+               basic_machine=powerpc-ibm
+               os=-os400
+               ;;
+       OSE68000 | ose68000)
+               basic_machine=m68000-ericsson
+               os=-ose
+               ;;
+       os68k)
+               basic_machine=m68k-none
+               os=-os68k
+               ;;
+       pa-hitachi)
+               basic_machine=hppa1.1-hitachi
+               os=-hiuxwe2
+               ;;
+       paragon)
+               basic_machine=i860-intel
+               os=-osf
+               ;;
+       pbd)
+               basic_machine=sparc-tti
+               ;;
+       pbb)
+               basic_machine=m68k-tti
+               ;;
+       pc532 | pc532-*)
+               basic_machine=ns32k-pc532
+               ;;
+       pentium | p5 | k5 | k6 | nexgen | viac3)
+               basic_machine=i586-pc
+               ;;
+       pentiumpro | p6 | 6x86 | athlon | athlon_*)
+               basic_machine=i686-pc
+               ;;
+       pentiumii | pentium2 | pentiumiii | pentium3)
+               basic_machine=i686-pc
+               ;;
+       pentium4)
+               basic_machine=i786-pc
+               ;;
+       pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+               basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentiumpro-* | p6-* | 6x86-* | athlon-*)
+               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentium4-*)
+               basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pn)
+               basic_machine=pn-gould
+               ;;
+       power)  basic_machine=power-ibm
+               ;;
+       ppc)    basic_machine=powerpc-unknown
+               ;;
+       ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppcle | powerpclittle | ppc-le | powerpc-little)
+               basic_machine=powerpcle-unknown
+               ;;
+       ppcle-* | powerpclittle-*)
+               basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppc64)  basic_machine=powerpc64-unknown
+               ;;
+       ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+               basic_machine=powerpc64le-unknown
+               ;;
+       ppc64le-* | powerpc64little-*)
+               basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ps2)
+               basic_machine=i386-ibm
+               ;;
+       pw32)
+               basic_machine=i586-unknown
+               os=-pw32
+               ;;
+       rom68k)
+               basic_machine=m68k-rom68k
+               os=-coff
+               ;;
+       rm[46]00)
+               basic_machine=mips-siemens
+               ;;
+       rtpc | rtpc-*)
+               basic_machine=romp-ibm
+               ;;
+       s390 | s390-*)
+               basic_machine=s390-ibm
+               ;;
+       s390x | s390x-*)
+               basic_machine=s390x-ibm
+               ;;
+       sa29200)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       sb1)
+               basic_machine=mipsisa64sb1-unknown
+               ;;
+       sb1el)
+               basic_machine=mipsisa64sb1el-unknown
+               ;;
+       sei)
+               basic_machine=mips-sei
+               os=-seiux
+               ;;
+       sequent)
+               basic_machine=i386-sequent
+               ;;
+       sh)
+               basic_machine=sh-hitachi
+               os=-hms
+               ;;
+       sh64)
+               basic_machine=sh64-unknown
+               ;;
+       sparclite-wrs | simso-wrs)
+               basic_machine=sparclite-wrs
+               os=-vxworks
+               ;;
+       sps7)
+               basic_machine=m68k-bull
+               os=-sysv2
+               ;;
+       spur)
+               basic_machine=spur-unknown
+               ;;
+       st2000)
+               basic_machine=m68k-tandem
+               ;;
+       stratus)
+               basic_machine=i860-stratus
+               os=-sysv4
+               ;;
+       sun2)
+               basic_machine=m68000-sun
+               ;;
+       sun2os3)
+               basic_machine=m68000-sun
+               os=-sunos3
+               ;;
+       sun2os4)
+               basic_machine=m68000-sun
+               os=-sunos4
+               ;;
+       sun3os3)
+               basic_machine=m68k-sun
+               os=-sunos3
+               ;;
+       sun3os4)
+               basic_machine=m68k-sun
+               os=-sunos4
+               ;;
+       sun4os3)
+               basic_machine=sparc-sun
+               os=-sunos3
+               ;;
+       sun4os4)
+               basic_machine=sparc-sun
+               os=-sunos4
+               ;;
+       sun4sol2)
+               basic_machine=sparc-sun
+               os=-solaris2
+               ;;
+       sun3 | sun3-*)
+               basic_machine=m68k-sun
+               ;;
+       sun4)
+               basic_machine=sparc-sun
+               ;;
+       sun386 | sun386i | roadrunner)
+               basic_machine=i386-sun
+               ;;
+       sv1)
+               basic_machine=sv1-cray
+               os=-unicos
+               ;;
+       symmetry)
+               basic_machine=i386-sequent
+               os=-dynix
+               ;;
+       t3e)
+               basic_machine=alphaev5-cray
+               os=-unicos
+               ;;
+       t90)
+               basic_machine=t90-cray
+               os=-unicos
+               ;;
+       tic54x | c54x*)
+               basic_machine=tic54x-unknown
+               os=-coff
+               ;;
+       tic55x | c55x*)
+               basic_machine=tic55x-unknown
+               os=-coff
+               ;;
+       tic6x | c6x*)
+               basic_machine=tic6x-unknown
+               os=-coff
+               ;;
+       tx39)
+               basic_machine=mipstx39-unknown
+               ;;
+       tx39el)
+               basic_machine=mipstx39el-unknown
+               ;;
+       toad1)
+               basic_machine=pdp10-xkl
+               os=-tops20
+               ;;
+       tower | tower-32)
+               basic_machine=m68k-ncr
+               ;;
+       tpf)
+               basic_machine=s390x-ibm
+               os=-tpf
+               ;;
+       udi29k)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       ultra3)
+               basic_machine=a29k-nyu
+               os=-sym1
+               ;;
+       v810 | necv810)
+               basic_machine=v810-nec
+               os=-none
+               ;;
+       vaxv)
+               basic_machine=vax-dec
+               os=-sysv
+               ;;
+       vms)
+               basic_machine=vax-dec
+               os=-vms
+               ;;
+       vpp*|vx|vx-*)
+               basic_machine=f301-fujitsu
+               ;;
+       vxworks960)
+               basic_machine=i960-wrs
+               os=-vxworks
+               ;;
+       vxworks68)
+               basic_machine=m68k-wrs
+               os=-vxworks
+               ;;
+       vxworks29k)
+               basic_machine=a29k-wrs
+               os=-vxworks
+               ;;
+       w65*)
+               basic_machine=w65-wdc
+               os=-none
+               ;;
+       w89k-*)
+               basic_machine=hppa1.1-winbond
+               os=-proelf
+               ;;
+       xbox)
+               basic_machine=i686-pc
+               os=-mingw32
+               ;;
+       xps | xps100)
+               basic_machine=xps100-honeywell
+               ;;
+       ymp)
+               basic_machine=ymp-cray
+               os=-unicos
+               ;;
+       z8k-*-coff)
+               basic_machine=z8k-unknown
+               os=-sim
+               ;;
+       none)
+               basic_machine=none-none
+               os=-none
+               ;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+       w89k)
+               basic_machine=hppa1.1-winbond
+               ;;
+       op50n)
+               basic_machine=hppa1.1-oki
+               ;;
+       op60c)
+               basic_machine=hppa1.1-oki
+               ;;
+       romp)
+               basic_machine=romp-ibm
+               ;;
+       mmix)
+               basic_machine=mmix-knuth
+               ;;
+       rs6000)
+               basic_machine=rs6000-ibm
+               ;;
+       vax)
+               basic_machine=vax-dec
+               ;;
+       pdp10)
+               # there are many clones, so DEC is not a safe bet
+               basic_machine=pdp10-unknown
+               ;;
+       pdp11)
+               basic_machine=pdp11-dec
+               ;;
+       we32k)
+               basic_machine=we32k-att
+               ;;
+       sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
+               basic_machine=sh-unknown
+               ;;
+       sh64)
+               basic_machine=sh64-unknown
+               ;;
+       sparc | sparcv8 | sparcv9 | sparcv9b)
+               basic_machine=sparc-sun
+               ;;
+       cydra)
+               basic_machine=cydra-cydrome
+               ;;
+       orion)
+               basic_machine=orion-highlevel
+               ;;
+       orion105)
+               basic_machine=clipper-highlevel
+               ;;
+       mac | mpw | mac-mpw)
+               basic_machine=m68k-apple
+               ;;
+       pmac | pmac-mpw)
+               basic_machine=powerpc-apple
+               ;;
+       *-unknown)
+               # Make sure to match an already-canonicalized machine name.
+               ;;
+       *)
+               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+               exit 1
+               ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+       *-digital*)
+               basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+               ;;
+       *-commodore*)
+               basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+               ;;
+       *)
+               ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+       # -solaris* is a basic system type, with this one exception.
+       -solaris1 | -solaris1.*)
+               os=`echo $os | sed -e 's|solaris1|sunos4|'`
+               ;;
+       -solaris)
+               os=-solaris2
+               ;;
+       -svr4*)
+               os=-sysv4
+               ;;
+       -unixware*)
+               os=-sysv4.2uw
+               ;;
+       -gnu/linux*)
+               os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+               ;;
+       # First accept the basic system types.
+       # The portable systems comes first.
+       # Each alternative MUST END IN A *, to match a version number.
+       # -sysv* is not here because it comes later, after sysvr4.
+       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+             | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+             | -aos* \
+             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
+             | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+             | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+             | -chorusos* | -chorusrdb* \
+             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+             | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
+             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+             | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
+       # Remember, each alternative MUST END IN *, to match a version number.
+               ;;
+       -qnx*)
+               case $basic_machine in
+                   x86-* | i*86-*)
+                       ;;
+                   *)
+                       os=-nto$os
+                       ;;
+               esac
+               ;;
+       -nto-qnx*)
+               ;;
+       -nto*)
+               os=`echo $os | sed -e 's|nto|nto-qnx|'`
+               ;;
+       -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+             | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+             | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+               ;;
+       -mac*)
+               os=`echo $os | sed -e 's|mac|macos|'`
+               ;;
+       -linux-dietlibc)
+               os=-linux-dietlibc
+               ;;
+       -linux*)
+               os=`echo $os | sed -e 's|linux|linux-gnu|'`
+               ;;
+       -sunos5*)
+               os=`echo $os | sed -e 's|sunos5|solaris2|'`
+               ;;
+       -sunos6*)
+               os=`echo $os | sed -e 's|sunos6|solaris3|'`
+               ;;
+       -opened*)
+               os=-openedition
+               ;;
+        -os400*)
+               os=-os400
+               ;;
+       -wince*)
+               os=-wince
+               ;;
+       -osfrose*)
+               os=-osfrose
+               ;;
+       -osf*)
+               os=-osf
+               ;;
+       -utek*)
+               os=-bsd
+               ;;
+       -dynix*)
+               os=-bsd
+               ;;
+       -acis*)
+               os=-aos
+               ;;
+       -atheos*)
+               os=-atheos
+               ;;
+       -syllable*)
+               os=-syllable
+               ;;
+       -386bsd)
+               os=-bsd
+               ;;
+       -ctix* | -uts*)
+               os=-sysv
+               ;;
+       -nova*)
+               os=-rtmk-nova
+               ;;
+       -ns2 )
+               os=-nextstep2
+               ;;
+       -nsk*)
+               os=-nsk
+               ;;
+       # Preserve the version number of sinix5.
+       -sinix5.*)
+               os=`echo $os | sed -e 's|sinix|sysv|'`
+               ;;
+       -sinix*)
+               os=-sysv4
+               ;;
+        -tpf*)
+               os=-tpf
+               ;;
+       -triton*)
+               os=-sysv3
+               ;;
+       -oss*)
+               os=-sysv3
+               ;;
+       -svr4)
+               os=-sysv4
+               ;;
+       -svr3)
+               os=-sysv3
+               ;;
+       -sysvr4)
+               os=-sysv4
+               ;;
+       # This must come after -sysvr4.
+       -sysv*)
+               ;;
+       -ose*)
+               os=-ose
+               ;;
+       -es1800*)
+               os=-ose
+               ;;
+       -xenix)
+               os=-xenix
+               ;;
+       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+               os=-mint
+               ;;
+       -aros*)
+               os=-aros
+               ;;
+       -kaos*)
+               os=-kaos
+               ;;
+       -zvmoe)
+               os=-zvmoe
+               ;;
+       -none)
+               ;;
+       *)
+               # Get rid of the `-' at the beginning of $os.
+               os=`echo $os | sed 's/[^-]*-//'`
+               echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+               exit 1
+               ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+       *-acorn)
+               os=-riscix1.2
+               ;;
+       arm*-rebel)
+               os=-linux
+               ;;
+       arm*-semi)
+               os=-aout
+               ;;
+    c4x-* | tic4x-*)
+        os=-coff
+        ;;
+       # This must come before the *-dec entry.
+       pdp10-*)
+               os=-tops20
+               ;;
+       pdp11-*)
+               os=-none
+               ;;
+       *-dec | vax-*)
+               os=-ultrix4.2
+               ;;
+       m68*-apollo)
+               os=-domain
+               ;;
+       i386-sun)
+               os=-sunos4.0.2
+               ;;
+       m68000-sun)
+               os=-sunos3
+               # This also exists in the configure program, but was not the
+               # default.
+               # os=-sunos4
+               ;;
+       m68*-cisco)
+               os=-aout
+               ;;
+       mips*-cisco)
+               os=-elf
+               ;;
+       mips*-*)
+               os=-elf
+               ;;
+       or32-*)
+               os=-coff
+               ;;
+       *-tti)  # must be before sparc entry or we get the wrong os.
+               os=-sysv3
+               ;;
+       sparc-* | *-sun)
+               os=-sunos4.1.1
+               ;;
+       *-be)
+               os=-beos
+               ;;
+       *-ibm)
+               os=-aix
+               ;;
+       *-knuth)
+               os=-mmixware
+               ;;
+       *-wec)
+               os=-proelf
+               ;;
+       *-winbond)
+               os=-proelf
+               ;;
+       *-oki)
+               os=-proelf
+               ;;
+       *-hp)
+               os=-hpux
+               ;;
+       *-hitachi)
+               os=-hiux
+               ;;
+       i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+               os=-sysv
+               ;;
+       *-cbm)
+               os=-amigaos
+               ;;
+       *-dg)
+               os=-dgux
+               ;;
+       *-dolphin)
+               os=-sysv3
+               ;;
+       m68k-ccur)
+               os=-rtu
+               ;;
+       m88k-omron*)
+               os=-luna
+               ;;
+       *-next )
+               os=-nextstep
+               ;;
+       *-sequent)
+               os=-ptx
+               ;;
+       *-crds)
+               os=-unos
+               ;;
+       *-ns)
+               os=-genix
+               ;;
+       i370-*)
+               os=-mvs
+               ;;
+       *-next)
+               os=-nextstep3
+               ;;
+       *-gould)
+               os=-sysv
+               ;;
+       *-highlevel)
+               os=-bsd
+               ;;
+       *-encore)
+               os=-bsd
+               ;;
+       *-sgi)
+               os=-irix
+               ;;
+       *-siemens)
+               os=-sysv4
+               ;;
+       *-masscomp)
+               os=-rtu
+               ;;
+       f30[01]-fujitsu | f700-fujitsu)
+               os=-uxpv
+               ;;
+       *-rom68k)
+               os=-coff
+               ;;
+       *-*bug)
+               os=-coff
+               ;;
+       *-apple)
+               os=-macos
+               ;;
+       *-atari*)
+               os=-mint
+               ;;
+       *)
+               os=-none
+               ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+       *-unknown)
+               case $os in
+                       -riscix*)
+                               vendor=acorn
+                               ;;
+                       -sunos*)
+                               vendor=sun
+                               ;;
+                       -aix*)
+                               vendor=ibm
+                               ;;
+                       -beos*)
+                               vendor=be
+                               ;;
+                       -hpux*)
+                               vendor=hp
+                               ;;
+                       -mpeix*)
+                               vendor=hp
+                               ;;
+                       -hiux*)
+                               vendor=hitachi
+                               ;;
+                       -unos*)
+                               vendor=crds
+                               ;;
+                       -dgux*)
+                               vendor=dg
+                               ;;
+                       -luna*)
+                               vendor=omron
+                               ;;
+                       -genix*)
+                               vendor=ns
+                               ;;
+                       -mvs* | -opened*)
+                               vendor=ibm
+                               ;;
+                       -os400*)
+                               vendor=ibm
+                               ;;
+                       -ptx*)
+                               vendor=sequent
+                               ;;
+                       -tpf*)
+                               vendor=ibm
+                               ;;
+                       -vxsim* | -vxworks* | -windiss*)
+                               vendor=wrs
+                               ;;
+                       -aux*)
+                               vendor=apple
+                               ;;
+                       -hms*)
+                               vendor=hitachi
+                               ;;
+                       -mpw* | -macos*)
+                               vendor=apple
+                               ;;
+                       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+                               vendor=atari
+                               ;;
+                       -vos*)
+                               vendor=stratus
+                               ;;
+               esac
+               basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+               ;;
+esac
+
+echo $basic_machine$os
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/configure-stamp b/configure-stamp
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/debian/bootchart-0.9.install.in b/debian/bootchart-0.9.install.in
new file mode 100644 (file)
index 0000000..e7aacf7
--- /dev/null
@@ -0,0 +1,2 @@
+/sbin/*
+/etc/*
diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..b7762ac
--- /dev/null
@@ -0,0 +1,20 @@
+bootchart (0.9slp2+s1) unstable; urgency=low
+
+  * Including sources in the bootchart package for compliant build.
+  * Git: 165.213.180.234:/git/slp/unmodified/bootchart
+  * Tag: bootchart_0.9slp2+s1
+
+ -- Minkyu Kang <mk7.kang@samsung.com>  Wed, 24 Nov 2010 17:21:55 +0900
+
+bootchart (0.2) unstable; urgency=low
+
+  * Toolchain Upgrade
+
+ -- Minkyu Kang <mk7.kang@samsung.com>  Thu, 25 Mar 2010 13:42:55 +0900
+
+bootchart (0.1) unstable; urgency=low
+
+  * Initial Release.
+  * 
+
+ -- Minkyu Kang <mk7.kang@samsung.com>  Thu, 11 Mar 2010 16:14:33 +0900
diff --git a/debian/compat b/debian/compat
new file mode 100644 (file)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..ac2733e
--- /dev/null
@@ -0,0 +1,11 @@
+Source: bootchart
+Section: devel
+Priority: extra
+Maintainer: Minkyu Kang <mk7.kang@samsung.com>
+Build-Depends: debhelper (>= 5)
+Standards-Version: 3.7.2
+
+Package: bootchart-0.9
+Architecture: armel
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Bootchart is a tool for performance analysis.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..88963b2
--- /dev/null
@@ -0,0 +1,26 @@
+This is bootchart, written and maintained by Minkyu Kang <mk7.kang@samsung.com>
+on Thu, 11 Mar 2010 14:43:00 +0900.
+
+The original source can always be found at:
+       ftp://ftp.debian.org/dists/unstable/main/source/
+
+Copyright Holder:  Minkyu Kang
+
+License:
+
+  This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation; either version 2 of the License, or
+  (at your option) any later version.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this package; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+
+On Debian systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL'.
diff --git a/debian/dirs b/debian/dirs
new file mode 100644 (file)
index 0000000..ca882bb
--- /dev/null
@@ -0,0 +1,2 @@
+usr/bin
+usr/sbin
diff --git a/debian/docs b/debian/docs
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..b109ed5
--- /dev/null
@@ -0,0 +1,133 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+CFLAGS ?= -Wall -g
+LDFLAGS ?= 
+PREFIX ?= /usr
+DATADIR ?= /opt
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+       CFLAGS += -O0
+else
+       CFLAGS += -O2
+endif
+
+LDFLAGS += -Wl,--rpath=$(PREFIX)/lib -Wl,--as-needed
+
+#config.status: configure
+#      dh_testdir
+#      # Add here commands to configure the package.
+#      CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --prefix=$(PREFIX) 
+
+#build: build-stamp
+
+#build-stamp:  config.status
+
+
+configure: configure-stamp
+configure-stamp:
+       dh_testdir
+       # Add here commands to configure the package.
+
+       touch configure-stamp
+
+
+build: build-stamp
+
+build-stamp: configure-stamp 
+
+       dh_testdir
+
+       # Add here commands to compile the package.
+       $(MAKE)
+       #docbook-to-man debian/ncurses.sgml > ncurses.1
+
+       for f in `find $(CURDIR)/debian/ -name "*.in"`; do \
+               cat $$f > $${f%.in}; \
+               sed -i -e "s#@PREFIX@#$(PREFIX)#g" $${f%.in}; \
+               sed -i -e "s#@DATADIR@#$(DATADIR)#g" $${f%.in}; \
+       done
+
+       touch $@
+
+clean:
+       dh_testdir
+       dh_testroot
+       rm -f build-stamp 
+
+       # Add here commands to clean up after the build process.
+       -$(MAKE) distclean
+ifneq "$(wildcard /usr/share/misc/config.sub)" ""
+       cp -f /usr/share/misc/config.sub config.sub
+endif
+ifneq "$(wildcard /usr/share/misc/config.guess)" ""
+       cp -f /usr/share/misc/config.guess config.guess
+endif
+
+       for f in `find $(CURDIR)/debian/ -name "*.in"`; do \
+               rm -f $${f%.in}; \
+       done
+
+       dh_clean 
+
+install: build
+       dh_testdir
+       dh_testroot
+       dh_clean -k 
+       dh_installdirs
+
+       # Add here commands to install the package into debian/ncurses.
+       $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+       dh_testdir
+       dh_testroot
+       dh_installchangelogs 
+       dh_installdocs
+       dh_installexamples
+       dh_install --sourcedir=debian/tmp
+#      dh_installmenu
+#      dh_installdebconf       
+#      dh_installlogrotate
+#      dh_installemacsen
+#      dh_installpam
+#      dh_installmime
+#      dh_python
+#      dh_installinit
+#      dh_installcron
+#      dh_installinfo
+       dh_installman
+       dh_link
+       dh_strip
+       dh_compress
+       dh_fixperms
+#      dh_perl
+       dh_makeshlibs
+       dh_installdeb
+       dh_shlibdeps
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install 
diff --git a/examples/bootchart.tgz b/examples/bootchart.tgz
new file mode 100644 (file)
index 0000000..a0d64ad
Binary files /dev/null and b/examples/bootchart.tgz differ
diff --git a/examples/header b/examples/header
new file mode 100644 (file)
index 0000000..115f102
--- /dev/null
@@ -0,0 +1,6 @@
+version = 0.8
+title = Boot chart for serenity.klika.si (Sun Jan 30 00:27:58 CET 2005)
+system.uname = Linux 2.6.10-prep #1 Sat Jan 29 22:36:16 CET 2005 i686
+system.release = Fedora Core release 3 (Heidelberg)
+system.cpu = model name        : Intel(R) Pentium(R) M processor 1500MHz (1)
+system.kernel.options = ro root=/dev/vg0/root vga=0x318 quiet grub init=/sbin/bootchartd
diff --git a/examples/kernel_pacct b/examples/kernel_pacct
new file mode 100644 (file)
index 0000000..171b60a
Binary files /dev/null and b/examples/kernel_pacct differ
diff --git a/examples/proc_diskstats.log b/examples/proc_diskstats.log
new file mode 100644 (file)
index 0000000..d1cf6db
--- /dev/null
@@ -0,0 +1,5262 @@
+698
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 353 13 8435 6428 0 0 0 0 2 2307 6457
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 356 8350 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+719
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 372 13 8643 6734 0 0 0 0 2 2511 6857
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 375 8558 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+740
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 389 16 9115 7097 0 0 0 0 1 2710 7121
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 394 9030 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+761
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 401 19 9555 7404 0 0 0 0 2 2907 7450
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 410 9470 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+781
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 416 20 9811 7793 0 0 0 0 3 3112 7858
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 427 9726 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+803
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 433 20 9995 8397 0 0 0 0 1 3336 8414
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 442 9910 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+824
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 450 21 10531 8654 0 0 0 0 0 3518 8667
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 459 10446 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+845
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 481 24 11451 8704 0 0 0 0 0 3568 8717
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 493 11366 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+866
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 481 24 11451 8704 0 0 0 0 0 3568 8717
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 493 11366 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+886
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 487 25 11731 8785 0 0 0 0 0 3649 8798
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 500 11646 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+907
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 495 27 11939 8887 0 0 0 0 1 3767 8916
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 511 11854 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+927
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 518 31 12947 9050 0 0 0 0 1 3913 9070
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 538 12862 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+948
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 520 31 12963 9079 0 0 0 0 0 3935 9092
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 539 12878 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+968
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 520 31 12963 9079 0 0 0 0 0 3935 9092
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 539 12878 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+989
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 524 31 13107 9126 0 0 0 0 7 3988 9181
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 550 13022 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1009
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 541 33 13795 9273 0 0 0 0 0 4079 9286
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 562 13710 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1029
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 541 33 13795 9273 0 0 0 0 0 4079 9286
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 562 13710 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1050
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 541 33 13795 9273 0 0 0 0 0 4079 9286
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 562 13710 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1070
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 541 33 13795 9273 0 0 0 0 0 4079 9286
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 562 13710 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1091
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 541 33 13795 9273 0 0 0 0 0 4079 9286
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 562 13710 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1111
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 562 37 15771 9390 0 0 0 0 0 4196 9403
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 587 15686 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1132
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 562 37 15771 9390 0 0 0 0 0 4196 9403
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 587 15686 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1152
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 562 37 15771 9390 0 0 0 0 0 4196 9403
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 587 15686 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1173
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 565 37 15803 9450 0 0 0 0 1 4275 9482
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 591 15718 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1193
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 577 37 15899 9663 0 0 0 0 1 4472 9679
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 603 15814 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1214
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 593 37 16027 9858 0 0 0 0 1 4670 9877
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 619 15942 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1234
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 619 37 16235 10053 0 0 0 0 1 4863 10070
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 645 16150 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1262
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 631 37 16323 10230 0 0 0 0 0 5036 10243
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 656 16238 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1283
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 669 37 16627 10430 0 0 0 0 0 5236 10443
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 694 16542 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1304
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 702 37 16891 10632 0 0 0 0 0 5438 10645
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 727 16806 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1325
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 717 37 17019 10827 0 0 0 0 1 5645 10852
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 743 16934 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1347
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 735 37 17155 11039 0 0 0 0 0 5845 11052
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 760 17070 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1366
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 758 37 17347 11230 0 0 0 0 1 6047 11254
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 784 17262 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1388
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 781 37 17531 11424 0 0 0 0 1 6254 11461
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 807 17446 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1408
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 800 37 17683 11632 0 0 0 0 1 6460 11667
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 826 17598 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1430
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 822 37 17851 11852 0 0 0 0 0 6658 11865
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 847 17766 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1449
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 844 37 18027 12052 0 0 0 0 0 6858 12065
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 869 17942 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1471
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 870 37 18235 12256 0 0 0 0 0 7062 12269
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 895 18150 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1491
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 887 37 18371 12431 0 0 0 0 0 7237 12444
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 912 18286 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1512
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 926 37 18683 12562 0 0 0 0 0 7368 12575
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 951 18598 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1533
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 930 38 18867 12669 0 0 0 0 0 7475 12682
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 956 18782 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1553
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 947 43 19779 12872 0 0 0 0 0 7593 12885
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 978 19694 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1575
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 964 45 20955 13132 0 0 0 0 0 7736 13145
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 997 20870 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1600
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 977 47 22083 13261 0 0 0 0 0 7848 13274
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1012 21998 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1620
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 977 47 22083 13261 0 0 0 0 0 7848 13274
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1012 21998 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1642
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 982 48 22507 13327 0 0 0 0 5 7889 13365
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1023 22422 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1661
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1007 51 25115 13473 0 0 0 0 1 7976 13488
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1047 25030 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1682
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1029 54 28139 13578 0 0 0 0 0 8063 13591
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1071 28054 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1703
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1033 55 28491 13592 0 0 0 0 0 8077 13605
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1076 28406 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1723
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1033 55 28491 13592 0 0 0 0 0 8077 13605
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1076 28406 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1744
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1033 55 28491 13592 0 0 0 0 0 8077 13605
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1076 28406 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1764
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1033 55 28491 13592 0 0 0 0 0 8077 13605
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1076 28406 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1785
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1036 55 28571 13650 0 0 0 0 0 8119 13663
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1079 28486 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1806
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1061 57 29635 14005 0 0 0 0 0 8258 14018
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1106 29550 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1827
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1067 59 30091 14043 0 0 0 0 0 8296 14056
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1114 30006 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1851
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1078 62 31075 14086 0 0 0 0 2 8351 14123
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1130 30990 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1904
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1081 62 31091 14123 0 0 0 0 1 8366 14139
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1132 31006 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+1952
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1087 63 31275 14182 0 0 0 0 0 8413 14195
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1138 31190 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+2011
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1092 63 31403 14264 0 0 0 0 0 8486 14277
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1143 31318 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+2049
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1092 63 31403 14264 0 0 0 0 0 8486 14277
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1143 31318 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+2094
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1092 63 31403 14264 0 0 0 0 0 8486 14277
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1143 31318 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+2118
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1095 64 31507 14341 0 0 0 0 0 8515 14354
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1147 31422 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+2177
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1096 64 31539 14342 0 0 0 0 0 8516 14355
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1148 31454 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+2202
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1106 65 32635 14402 0 0 0 0 0 8564 14415
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1159 32550 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+2225
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1106 65 32635 14402 0 0 0 0 0 8564 14415
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1159 32550 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+2303
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1115 66 33899 14486 0 0 0 0 0 8637 14499
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1169 33814 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+2331
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1124 67 35195 14627 0 0 0 0 0 8737 14640
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1179 35110 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+2355
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1128 68 35579 14629 0 0 0 0 0 8739 14642
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1184 35494 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+
+2384
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1134 68 35739 14892 0 0 0 0 0 8931 14905
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1190 35654 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2612
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1161 70 37795 15198 0 0 0 0 0 9176 15211
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1219 37710 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2636
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1162 70 37803 15221 0 0 0 0 0 9199 15234
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1220 37718 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2659
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1179 71 38747 15397 0 0 0 0 0 9341 15410
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1238 38662 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2679
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1180 71 38779 15406 0 0 0 0 0 9350 15419
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1239 38694 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2700
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1189 71 38947 15496 0 0 0 0 1 9454 15523
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1249 38862 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2720
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1220 74 39779 15607 0 0 0 0 0 9551 15620
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1282 39694 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2742
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1230 77 40427 15654 0 0 0 0 0 9583 15667
+   3    1 hda1 4 32 0 0
+   3    2 hda2 4 13 0 0
+   3    3 hda3 1295 40342 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2764
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1242 205 40971 15819 0 0 0 0 1 9751 15848
+   3    1 hda1 4 32 0 0
+   3    2 hda2 132 141 0 0
+   3    3 hda3 1308 40758 0 0
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2784
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1262 229 43587 16073 2 0 16 32 0 9947 16118
+   3    1 hda1 4 32 0 0
+   3    2 hda2 132 141 0 0
+   3    3 hda3 1351 43374 2 16
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2805
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1278 229 44560 16235 2 0 16 32 1 10114 16285
+   3    1 hda1 6 48 0 0
+   3    2 hda2 134 146 0 0
+   3    3 hda3 1362 44310 2 16
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2826
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1331 577 45132 16332 3 1 18 43 0 10217 16388
+   3    1 hda1 7 56 0 0
+   3    2 hda2 487 502 2 2
+   3    3 hda3 1407 44510 2 16
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2847
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1331 577 45132 16332 3 1 18 43 0 10217 16388
+   3    1 hda1 7 56 0 0
+   3    2 hda2 487 502 2 2
+   3    3 hda3 1407 44510 2 16
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2867
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1342 801 45900 16491 3 1 18 43 1 10382 16553
+   3    1 hda1 28 224 0 0
+   3    2 hda2 623 638 2 2
+   3    3 hda3 1486 44974 2 16
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2888
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1360 820 46396 16672 4 1 20 54 0 10568 16739
+   3    1 hda1 28 224 0 0
+   3    2 hda2 627 646 3 4
+   3    3 hda3 1518 45462 2 16
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2908
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1384 821 46692 16847 4 1 20 54 1 10750 16921
+   3    1 hda1 28 224 0 0
+   3    2 hda2 627 646 3 4
+   3    3 hda3 1544 45758 2 16
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2929
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1405 821 47236 17053 4 1 20 54 1 10933 17134
+   3    1 hda1 28 224 0 0
+   3    2 hda2 627 646 3 4
+   3    3 hda3 1565 46302 2 16
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2950
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1421 821 47516 17232 4 1 20 54 1 11114 17315
+   3    1 hda1 28 224 0 0
+   3    2 hda2 627 646 3 4
+   3    3 hda3 1581 46582 2 16
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2970
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1449 821 47748 17381 4 1 20 54 1 11253 17454
+   3    1 hda1 28 224 0 0
+   3    2 hda2 627 646 3 4
+   3    3 hda3 1609 46814 2 16
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+2990
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1470 821 48156 17924 4 1 20 54 14 11438 18704
+   3    1 hda1 28 224 0 0
+   3    2 hda2 627 646 3 4
+   3    3 hda3 1643 47222 2 16
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+3010
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0 0 0 0 0 0 0
+   1   15 ram15 0 0 0 0 0 0 0 0 0 0 0
+   3    0 hda 1493 828 48332 19961 4 1 20 54 3 11643 20048
+   3    1 hda1 28 224 0 0
+   3    2 hda2 627 646 3 4
+   3    3 hda3 1662 47398 2 16
+  22    0 hdc 0 0 0 0 0 0 0 0 0 0 0
+ 253    0 dm-0 0 0 0 0 0 0 0 0 0 0 0
+ 253    1 dm-1 0 0 0 0 0 0 0 0 0 0 0
+   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
+
+3031
+   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
+   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
+   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
+   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
+   1    4 ram4 0 0 0 0 0 0 0 0 0 0 0
+   1    5 ram5 0 0 0 0 0 0 0 0 0 0 0
+   1    6 ram6 0 0 0 0 0 0 0 0 0 0 0
+   1    7 ram7 0 0 0 0 0 0 0 0 0 0 0
+   1    8 ram8 0 0 0 0 0 0 0 0 0 0 0
+   1    9 ram9 0 0 0 0 0 0 0 0 0 0 0
+   1   10 ram10 0 0 0 0 0 0 0 0 0 0 0
+   1   11 ram11 0 0 0 0 0 0 0 0 0 0 0
+   1   12 ram12 0 0 0 0 0 0 0 0 0 0 0
+   1   13 ram13 0 0 0 0 0 0 0 0 0 0 0
+   1   14 ram14 0 0 0 0 0&n