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¬ation-megabytes;">
> +<!ENTITY ref-no-desktop-ram-recommend "1¬ation-gigabytes;">
> +<!ENTITY ref-no-desktop-hd "4¬ation-gigabytes;">
> +<!ENTITY ref-with-desktop-ram-minimum "1¬ation-gigabytes;">
> +<!ENTITY ref-with-desktop-ram-recommend "2¬ation-gigabytes;">
> +<!ENTITY ref-with-desktop-hd "10¬ation-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¬ation-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: