[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: installation-guide: simplify RAM/disk space requirements



Hi,

Samuel Thibault <sthibault@debian.org> wrote (Tue, 8 Aug 2023 00:14:11 +0200):
> Hello,
> 
> This looks reasonable, thanks!

Now pushed to git.

thanks



> Samuel
> 
> Holger Wansing, le mar. 08 août 2023 00:06:14 +0200, a ecrit:
> > Hi again,
> > 
> > Samuel Thibault <sthibault@debian.org> wrote (Sun, 6 Aug 2023 14:32:22 +0200):
> > > Holger Wansing, le sam. 05 août 2023 20:46:27 +0200, a ecrit:
> > > > Now looking in the doc source, I see that the "780MB" value from above is 
> > > > architecture-dependent too.
> > > 
> > > Ah, yes, that's part of the lowmem testing.
> > > 
> > > > While 780MB seems realistic for amd64 to me, I wonder if the other values can
> > > > be up-to-date:
> > > > 
> > > > amd64:minimum_memory=780
> > > > arm64:minimum_memory=260
> > > > armel:minimum_memory=80
> > > > armhf:minimum_memory=190
> > > > i386:minimum_memory=485
> > > > mips:minimum_memory=85
> > > > mips64el:minimum_memory=345
> > > > mipsel:minimum_memory=170
> > > > ppc64el:minimum_memory=64
> > > > s390x:minimum_memory=44
> > > > 
> > > > In the most eye-catching case of s390x, my proposal would mean, to change
> > > > the value in the guide from 44 to 512MB !
> > > > That leads to the question, if the new situation after my changing would be 
> > > > wrong, or if the doc was wrong in the past?
> > > 
> > > The doc probably just ended up wrong by just not getting updated,
> > > because we don't have people who both care about updating them, and have
> > > access to the hardware or know the qemu tricks to test all archs.
> > > 
> > > I see that in the lowmem package,
> > > bbb4ed4c4da20d585cf30ceba9f0987173d3ac70 raised the default levels from
> > > 32MB/64MB to 120MB/155MB, that being the minimum numbers that were
> > > actually seen to work on at least some arch.
> > 
> > Ok, I have now included those changes into my patch, to get the numbers
> > up-to-date for all archs. 
> > 
> > That is:
> > 
> > amd64:minimum_memory_strict=350
> > amd64:minimum_memory=780
> > 
> > arm64:minimum_memory_strict=245
> > arm64:minimum_memory=260
> > 
> > armel:minimum_memory_strict=140
> > armel:minimum_memory=190
> > 
> > armhf:minimum_memory_strict=140
> > armhf:minimum_memory=190
> > 
> > i386:minimum_memory_strict=285
> > i386:minimum_memory=485
> > 
> > mips64el:minimum_memory_strict=200
> > mips64el:minimum_memory=345
> > 
> > mipsel:minimum_memory_strict=160
> > mipsel:minimum_memory=170
> > 
> > ppc64el:minimum_memory_strict=256
> > ppc64el:minimum_memory=500
> > 
> > s390x:minimum_memory_strict=120
> > s390x:minimum_memory=155
> > 
> > See patch.
> > 
> > 
> > > > And, if a generic value for all archs is realistic and makes sense at all?
> > > 
> > > Probably not, as seen in the values in the lowmem package.
> > 
> > I think I found a reasonable solution.
> > 
> > Current situation is:
> > 
> > We have two sorts of numbers for RAM size:
> > 
> > a) some kind of rough values, identical for all archs. These are just 
> >    subjective values, rounded up to the next bigger RAM modules you can buy
> >    (current values can be found in
> >    "Table 3.2. Recommended Minimum System Requirements" at
> >    https://d-i.debian.org/manual/en.amd64/ch03s04.html )
> >    These are only rough recommendations, as in "we **recommend** X MB".
> >    And this chapter 3.4 also mentions, that these recommendations can well be 
> >    underrun by the second sort of values:
> > b) these are values based on meassurements during lowmem testing. They are 
> >    different over the archs, and in the current text they are considered as 
> >    some kind of strict requirement, as in "you **need** at least X MB" values.
> >    --> Compare this to the "we **recommend** X MB" values from a) !
> > 
> > 
> > 
> > 
> > Taking all this as a basis, I would like to propose the following:
> > 
> > 
> > 1. in chapter 2 (https://people.debian.org/~holgerw/installation-guide___improve-ram-size-values/amd64/ch02s05.html)
> >    which is about hardware requirements, just mention the minimal rough 
> >    recommended values from a) which says something like "512MB" or "1GB",
> >    corresponding to RAM modules available from your favorite hardware store.
> > 
> > 2. People who want to try to go with lower values, are guided to
> >    chapter 3 (https://people.debian.org/~holgerw/installation-guide___improve-ram-size-values/amd64/ch03s04.html),
> >    where they find the values from b) based on lowmem tests, which contain
> >    the "absolute minimum values", drawing the baseline that cannot be underrun.
> >    Note, that this page is different, depending on arch!
> > 
> > 3. Move all the constraints / advanced infos like
> >      - installer should automatically do memory-saving tricks on low-memory systems"
> >      - warning, when lowmem levels are untested for some archs
> >      - note, that graphical installer images need more RAM
> >   from chapter 2 to 3, where they fit better: That's not hardware (which would
> >   be chapter 2), but how the software deals with the available hardware (so 
> >   that's chapter 3).
> > 
> > 4. I moved the values for "Table 3.2. Recommended Minimum System Requirements"
> >    from hardcoded values to entities, to ease changings on this in the future
> >    (especially when looking at translations).
> > 
> > 5. I bumped the recommended RAM size values from a) 
> >    from
> >    256MB (minimum) + 512MB (recommended)
> >    to
> >    512MB (minimum) + 1G (recommended)
> > 
> > 
> > 
> > All the resulting html files, separated for all archs can be found on
> > https://people.debian.org/~holgerw/installation-guide___improve-ram-size-values/
> > 
> > The interesting chapters are "Memory and Disk Space Requirements" in chapter 2
> > and "Meeting Minimum Hardware Requirements" in chapter 3.
> > 
> > 
> > Sorry, if this is kind of a chaotic thread; the issue grew bigger than I
> > had expected.
> > 
> > 
> > 
> > Holger
> > 
> > 
> > -- 
> > Holger Wansing <hwansing@mailbox.org>
> > PGP-Fingerprint: 496A C6E8 1442 4B34 8508  3529 59F1 87CA 156E B076
> 
> > diff --git a/build/arch-options/armel b/build/arch-options/armel
> > index d17df5114..1598edb87 100644
> > --- a/build/arch-options/armel
> > +++ b/build/arch-options/armel
> > @@ -4,23 +4,23 @@
> >  
> >  # Note that we keep "arm" as archspec (and thus also for conditions)
> >  # and also continue to use "arm" for arch-specific XML-files in order
> >  # to minimize impact on translations.
> >  
> >  archspec="arm;armel;not-x86;not-s390;not-powerpc"
> >  arch_listname="arm"
> >  arch_porturl="arm"
> >  # TODO: update
> >  # This is coming from the lowmem package
> > -minimum_memory_strict=32
> > +minimum_memory_strict=140
> >  # This is coming from the lowmem package
> > -minimum_memory=80
> > +minimum_memory=190
> >  # These two options should be set if condition 'smp' is set below
> >  smp_config_section="N/A"
> >  smp_config_option="N/A"
> >  
> >  # Options below are assembled into one variable 'condition'
> >  # in the build scripts
> >  fdisk="fdisk.txt;cfdisk.txt"
> >  network="supports-tftp;supports-rarp;supports-bootp;supports-nfsroot"
> >  boot=""
> >  frontend="newt;not-gtk"
> > diff --git a/build/arch-options/ppc64el b/build/arch-options/ppc64el
> > index 2162cac4f..f07eb97de 100644
> > --- a/build/arch-options/ppc64el
> > +++ b/build/arch-options/ppc64el
> > @@ -1,22 +1,22 @@
> >  # This file contains architecture specific variables for
> >  # the 'ppc64el' architecture
> >  # It is sourced by the build scripts
> >  
> >  archspec="ppc64el;not-s390;not-x86"
> >  arch_listname="powerpc"
> >  arch_porturl="powerpc"
> >  # TODO: update
> >  # This is coming from the lowmem package
> > -minimum_memory_strict=32
> > +minimum_memory_strict=256
> >  # This is coming from the lowmem package
> > -minimum_memory=64
> > +minimum_memory=500
> >  # This is coming from the rootskel package, S60frontend
> >  minimum_memory_gtk=800
> >  # These two options should be set if condition 'smp' is set below
> >  smp_config_section="Processor support"
> >  smp_config_option="Symmetric multi-processing support"
> >  
> >  # Options below are assembled into one variable 'condition'
> >  # in the build scripts
> >  fdisk="fdisk.txt;cfdisk.txt"
> >  network="supports-tftp;supports-bootp;supports-nfsroot"
> > diff --git a/build/arch-options/s390x b/build/arch-options/s390x
> > index 7dcac7a73..8647fcc71 100644
> > --- a/build/arch-options/s390x
> > +++ b/build/arch-options/s390x
> > @@ -4,23 +4,23 @@
> >  
> >  # Note that we keep "s390" as archspec (and thus also for conditions)
> >  # and also continue to use "s390" for arch-specific XML-files in order
> >  # to minimize impact on translations.
> >  
> >  archspec="s390;not-powerpc;not-x86"
> >  arch_listname="s390"
> >  arch_porturl="s390"
> >  # TODO: update
> >  # This is coming from the lowmem package
> > -minimum_memory_strict=32
> > +minimum_memory_strict=120
> >  # This is coming from the lowmem package
> > -minimum_memory=44
> > +minimum_memory=155
> >  # These two options should be set if condition 'smp' is set below
> >  smp_config_section="Processor type and features"
> >  smp_config_option="Symmetric multi-processing support"
> >  
> >  # Options below are assembled into one variable 'condition'
> >  # in the build scripts
> >  fdisk="fdasd.txt;dasdfmt.txt"
> >  network=""
> >  boot=""
> >  frontend="not-newt;not-gtk"
> > diff --git a/build/entities/common.ent b/build/entities/common.ent
> > index 1e58745e1..f7b7f774c 100644
> > --- a/build/entities/common.ent
> > +++ b/build/entities/common.ent
> > @@ -59,30 +59,39 @@
> >  <!ENTITY escapekey "<keycap>Esc</keycap>">
> >  <!ENTITY tabkey "<keycap>Tab</keycap>">
> >  <!ENTITY spacekey "<keycap>Space</keycap>">
> >  <!ENTITY shiftkey "<keycap>Shift</keycap>">
> >  <!ENTITY MSG-YES "<userinput>Yes</userinput>">
> >  <!ENTITY MSG-NO "<userinput>No</userinput>">
> >  <!ENTITY BTN-CONT "<guibutton>Continue</guibutton>">
> >  <!ENTITY BTN-CANCEL "<guibutton>Cancel</guibutton>">
> >  <!ENTITY BTN-GOBACK "<guibutton>Go Back</guibutton>">
> >  
> > -<!-- notation used for 'megabytes' -->
> > +<!-- notation used for 'megabytes' and 'gigabytes' -->
> >  <!ENTITY notation-megabytes "MB">
> > +<!ENTITY notation-gigabytes "GB">
> > +
> > +<!-- generic RAM / harddisk size recommendations for all archs -->
> > +<!ENTITY ref-no-desktop-ram-minimum "512&notation-megabytes;">
> > +<!ENTITY ref-no-desktop-ram-recommend "1&notation-gigabytes;">
> > +<!ENTITY ref-no-desktop-hd "4&notation-gigabytes;">
> > +<!ENTITY ref-with-desktop-ram-minimum "1&notation-gigabytes;">
> > +<!ENTITY ref-with-desktop-ram-recommend "2&notation-gigabytes;">
> > +<!ENTITY ref-with-desktop-hd "10&notation-gigabytes;">
> >  
> >  <!-- minimum hard disk size for base system -->
> >  <!-- As measured just before reboot (i.e. before the cleanup script drops
> >  .debs), plus some margin. This is also approximately the used size after
> >  cleanup, plus minimal ~150MB work space included.
> >  Also update the value in debian-installer/build/boot/x86/f2.txt
> >  -->
> > -<!ENTITY minimum-fs-size "1160&notation-megabytes;">
> > +<!ENTITY minimum-fs-size "&ref-no-desktop-hd;">
> >  
> >  <!--
> >  Size of install as used in appendix/files.xml; all values based on amd64.
> >  
> >  To determine the size of the base system and tasks, start with a default
> >  installation:
> >  - having removed /usr/lib/finish-install.d/08hw-detect to avoid installing
> >  qemu-guest-agent which pulls glib+perl+icu
> >  - in English
> >  - with use of network mirror
> > diff --git a/en/hardware/memory-disk-requirements.xml b/en/hardware/memory-disk-requirements.xml
> > index 10f074738..eae24c6ff 100644
> > --- a/en/hardware/memory-disk-requirements.xml
> > +++ b/en/hardware/memory-disk-requirements.xml
> > @@ -1,48 +1,15 @@
> >  <!-- retain these comments for translator revision tracking -->
> >  <!-- $Id$ -->
> >  
> >   <sect1 id="memory-disk-requirements">
> >   <title>Memory and Disk Space Requirements</title>
> >  
> >  <para>
> >  
> > -You must have at least &minimum-memory; of memory and &minimum-fs-size;
> > -of hard disk space to perform a normal installation. Note that these are
> > -fairly minimal numbers. For more realistic figures, see
> > +We recommend at least &ref-no-desktop-ram-minimum; of memory and &minimum-fs-size;
> > +of hard disk space to perform an installation. For more detailed values, see
> >  <xref linkend="minimum-hardware-reqts"/>.
> >  
> > -</para><para>
> > -
> > -The installer normally automatically enables memory-saving tricks to be able to
> > -run on such low-memory system, but on architectures that are less tested
> > -it may miss doing so. It can however be enabled manually by appending the
> > -<userinput>lowmem=1</userinput> or even <userinput>lowmem=2</userinput> boot
> > -parameter (see also <xref linkend="lowmem"/> and
> > -<xref linkend="installer-args"/>).
> > -
> > -</para><warning condition="lowmem-unchecked"><para>
> > -
> > -On &architecture; the lowmem levels have not been tested, so automatic detection
> > -is probably outdated and you thus probably <emphasis>need</emphasis> to pass the
> > -boot parameter if your system has little memory.
> > -
> > -</para></warning><para>
> > -
> > -Installation on systems with less memory<footnote condition="gtk">
> > -
> > -<para>
> > -
> > -Installation images that support the graphical installer require more
> > -memory than images that support only the text-based installer and should
> > -not be used on systems with less than &minimum-memory; of memory. If
> > -there is a choice between booting the text-based and the graphical installer,
> > -the former should be selected on such systems.
> > -
> > -</para>
> > -
> > -</footnote> or disk space available may be possible but is only advised for
> > -experienced users.
> > -
> >  </para>
> >  
> >   </sect1>
> > diff --git a/en/preparing/minimum-hardware-reqts.xml b/en/preparing/minimum-hardware-reqts.xml
> > index eb36bb9ce..076c65791 100644
> > --- a/en/preparing/minimum-hardware-reqts.xml
> > +++ b/en/preparing/minimum-hardware-reqts.xml
> > @@ -38,48 +38,80 @@ Any OldWorld or NewWorld PowerPC can serve well as a desktop system.
> >    <entry>Install Type</entry>
> >    <entry>RAM (minimum)</entry>
> >    <entry>RAM (recommended)</entry>
> >    <entry>Hard Drive</entry>
> >  </row>
> >  </thead>
> >  
> >  <tbody>
> >  <row>
> >    <entry>No desktop</entry>
> > -  <entry>256 megabytes</entry>
> > -  <entry>512 megabytes</entry>
> > -  <entry>4 gigabytes</entry>
> > +  <entry>&ref-no-desktop-ram-minimum;</entry>
> > +  <entry>&ref-no-desktop-ram-recommend;</entry>
> > +  <entry>&ref-no-desktop-hd;</entry>
> >  </row><row arch="not-s390">
> >    <entry>With Desktop</entry>
> > -  <entry>1 gigabytes</entry>
> > -  <entry>2 gigabytes</entry>
> > -  <entry>10 gigabytes</entry>
> > +  <entry>&ref-with-desktop-ram-minimum;</entry>
> > +  <entry>&ref-with-desktop-ram-recommend;</entry>
> > +  <entry>&ref-with-desktop-hd;</entry>
> >  </row>
> >  
> >  </tbody></tgroup></table>
> >  
> >  <para>
> >  
> >  The minimum values assumes that swap will be enabled and a non-liveCD image is used.
> > -The <quote>No desktop</quote> value assumes that the non-graphical (text-based)
> > -installer is used.
> > +The <quote>No desktop</quote> value assumes that the text-based installer
> > +(not the graphical one) is used.
> >  
> >  </para><para>
> >  
> >  The actual minimum memory requirements are a lot less than the numbers
> >  listed in this table. With swap enabled, it is possible to
> >  install &debian; with as little as &minimum-memory-strict;.
> >  The same goes for the disk space requirements, especially if you
> >  pick and choose which applications to install; see
> >  <xref linkend="tasksel-size-list"/> for additional information on disk
> >  space requirements.
> >  
> > +</para><para>
> > +
> > +The installer normally automatically enables memory-saving tricks to be able to
> > +run on such low-memory system, but on architectures that are less tested
> > +it may miss doing so. It can however be enabled manually by appending the
> > +<userinput>lowmem=1</userinput> or even <userinput>lowmem=2</userinput> boot
> > +parameter (see also <xref linkend="lowmem"/> and
> > +<xref linkend="installer-args"/>).
> > +
> > +</para><warning condition="lowmem-unchecked"><para>
> > +
> > +On &architecture; the lowmem levels have not been tested, so automatic detection
> > +is probably outdated and you thus probably <emphasis>need</emphasis> to pass the
> > +boot parameter if your system has little memory.
> > +
> > +</para></warning><para>
> > +
> > +Installation on systems with less memory<footnote condition="gtk">
> > +
> > +<para>
> > +
> > +Installation images that support the graphical installer require more
> > +memory than images that support only the text-based installer and should
> > +not be used on systems with less than &minimum-memory; of memory. If
> > +there is a choice between booting the text-based and the graphical installer,
> > +the former should be selected on such systems.
> > +
> > +</para>
> > +
> > +</footnote> or disk space available may be possible but is only advised for
> > +experienced users.
> > +
> >  </para><para arch="not-s390">
> >  
> >  It is possible to run a graphical desktop environment on older or
> >  low-end systems, but in that case it is recommended to install
> >  a window manager that is less resource-hungry than those of the
> >  GNOME or KDE Plasma desktop environments; alternatives include
> >  <classname>xfce4</classname>, <classname>icewm</classname> and
> >  <classname>wmaker</classname>, but there are others to choose from.
> >  
> >  </para><para>
> 
> 
> -- 
> Samuel
> ---
> Pour une évaluation indépendante, transparente et rigoureuse !
> Je soutiens la Commission d'Évaluation de l'Inria.
> 


-- 
Holger Wansing <hwansing@mailbox.org>
PGP-Fingerprint: 496A C6E8 1442 4B34 8508  3529 59F1 87CA 156E B076


Reply to: