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

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



Hello,

This looks reasonable, 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.


Reply to: