Config fails in low memory machine (64MB)

Bug #176562 reported by Florent
4
Affects Status Importance Assigned to Milestone
linux-restricted-modules-2.6.24 (Ubuntu)
Won't Fix
Medium
Unassigned
Nominated for Hardy by Florent
Nominated for Intrepid by Florent

Bug Description

Binary package hint: linux-restricted-modules-common

Xubuntu 7.10 is installed on an old PC with 64MB.

When I install linux-restricted-modules-2.6.22-14-generic, I got a message saying:
"ld_static: final link failed no space left on device"

The problem occurs when the postinst script try to load modules in the folder /lib/modules/2.6.22-14-generic/volatile/.
This folder is a "tmpfs" mount point and its default size is half of the memory (source: `man mount`).
When I do a `df -tBM`, the reported size of 'lrm' mount point is 30 MB.
The overall size of modules to be loaded in the folder is 34 MB. It does not fit the available space.

The script that performs the mount and that copy the modules in memory is /sbin/lrm-manager.
Currently there's no way to send parameters to the 'lrm-manager' script in order to specify a larger mount size.

Revision history for this message
Florent (florent.x) wrote :

The workaround solution is to create a mount point with required size (more than 34m).
In this case the 'lrm-manager' script will let the mount point as-is.
The script in /etc/default/ folder is called when running /sbin/lrm-manager.
It seems the best place to add the workaround.

After, you have to reboot the system or run `dpkg-reconfigure linux-restricted-modules-2.6.22-14-generic`.

--- /etc/default/linux-restricted-modules-common.old 2007-11-02 02:13:29.000000000 +0100
+++ /etc/default/linux-restricted-modules-common 2007-12-15 16:38:38.000000000 +0100
@@ -16,3 +16,10 @@
 # You can also name each module individually, if you prefer a subset.

 DISABLED_MODULES=""
+LRM_SIZE=64m
+
+if [ ! -f /lib/modules/"$KVER"/volatile/.mounted ]; then
+ mkdir -p /lib/modules/"$KVER"/volatile/
+ mount -t tmpfs -o mode=0755,size="$LRM_SIZE" tmpfs /lib/modules/"$KVER"/volatile/
+ touch /lib/modules/"$KVER"/volatile/.mounted
+fi

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Florent,

This bug seems to be about linux-restricted-modules-2.6.22 but was reported against linux-restricted-modules-2.6.24. Just curious if you'd care to test against the lastest Hardy Heron 8.04 Alpha release and verify if this is still an issue? http://www.ubuntu.com/testing . Thanks.

Changed in linux-restricted-modules-2.6.24:
status: New → Incomplete
Revision history for this message
Richard (rd1) wrote :

I'd like to see this fixed as I'm trying to get a low memory install of Ubuntu onto a similar machine.... Currently lots of people have to use non-Ubuntu Linuxes such as Damn Small Linux, Puppy, SliTaz, SLAX, etc, in order to fit into 64 MB RAM. Given that multi-gigabyte Flash drives are very cheap now, it's not hard to take an old laptop and revive it with a light Ubuntu, but that's only likely to happen if the installer doesn't cause problems.

Changed in linux-restricted-modules-2.6.24:
assignee: nobody → ubuntu-kernel-team
importance: Undecided → Medium
status: Incomplete → Triaged
Revision history for this message
Florent (florent.x) wrote :

Leann,

I've installed Xubuntu Hardy 8.04 with 64 MiB and 512 MiB of swap.
This bug is still present in Hardy: 38 MiB of l-r-m do not fit into 32 MiB of tmpfs.

It does not hang the install, but not all the modules are loaded during boot up.
It may result in a system that is not working correctly.

For people which plan to install on a 64 MiB system, there's other issues around.
I encountered the bug #202959 during install (generating locales hang the system).

But after these installation issues, the system is working ok.

Revision history for this message
Florent (florent.x) wrote :

Please merge this patch in the planned release, or something similar.
IMHO it should be fixed in the LTS version Hardy, to improve support for low memory machines.

Explanation of the change:
- the reserved space for linux-restricted-modules is set to 64m by default (instead of half the available RAM)
- now it can be overridden easily in file /etc/default/linux-restricted-modules-common
  (similar to what is done in /etc/default/tmpfs for the SHM_SIZE)

Notes:
- the "tmpfs" mount point use both RAM and swap space
- there's no error on mount if the RAM+swap is too small
- the minimal required size to load all restricted modules is 38m for the 2.6.24-17 kernel

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Coincidently the kernel team has been discussing why LRM has a dynamic link process at all. We are considering for Intrepid that all drivers are fully linked at build time. However, its unlikely that Hardy will be corrected for this issue. I believe the minimum RAM footprint for Hardy is 256MB.

Changed in linux-restricted-modules-2.6.24:
status: Triaged → Won't Fix
Revision history for this message
Florent (florent.x) wrote :

Another workaround is to disable all restricted modules:

/etc/default/linux-restricted-modules-common:
DISABLED_MODULES="ath_hal fc fglrx fwlanusb ltm nv"

Revision history for this message
Florent (florent.x) wrote :

@Tim
Thank you for the update for Intrepid.
However I think it is not a bad idea to make it available for Hardy LTS.
Regarding the minimal requirement we may consider updating the documentation:
https://help.ubuntu.com/community/Installation/SystemRequirements

Incidentally, I create a blueprint to request better support for low memory systems.
See "Related blueprints" in the sidebar.

Revision history for this message
Launchpad Janitor (janitor) wrote : Kernel team bugs

Per a decision made by the Ubuntu Kernel Team, bugs will longer be assigned to the ubuntu-kernel-team in Launchpad as part of the bug triage process. The ubuntu-kernel-team is being unassigned from this bug report. Refer to https://wiki.ubuntu.com/KernelTeamBugPolicies for more information. Thanks.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.