Hi Helmut,
On 1/24/23 06:27, Helmut Grohne wrote:
> On Mon, Jan 23, 2023 at 10:48:27PM +0100, Helge Deller wrote:
>> --- ./
init.org 2023-01-23 21:40:33.079738389 +0000
>> +++ ./init 2023-01-23 21:40:45.983861851 +0000
>> @@ -205,6 +205,15 @@ else
>> resume=${RESUME:-}
>> fi
>>
>> +if [ -z "${RUNSIZE}" ] || [[ "${RUNSIZE}" \< "20" ]]; then
>
> This is as bashism and init runs with dash as far as I can see.
Hmm... I did tested it, at it seemed to work...
Which part of that line exactly do you think is problematic?
I'm open for any other idea how to code it.
> Also note that RUNSIZE may legitimately be given as "1g" or "19%", both
> of which should work.
Both will work, because I assume that on such systems you probably have more than 200MB RAM
and thus my patch won't touch the user-provided value at all.
> I suggest just not handling the case where RUNSIZE
> is set by the user
Yes, I fully agree with you and had hoped to implement it that way.
Ideally RUNSIZE shouldn't be changed if it was already provided.
But the problem is, that on some/many systems RUNSIZE is *automatically* provided and added to
the bootloader via a default value (of 10%) given in /etc/initramfs-tools/update-initramfs.conf.
So, even if the user didn't changed or provided anything, the 10% is always set
and thus my check would never trigger....
> and letting them break their system however they
> like rather than risk breaking legitimate configuration.
Again, the default value is the problem...
>> + read MemTotal mem_kb rest < /proc/meminfo
>> + # systemd requires at minumum 16MB for /run, so reserve
>> + # 20MB for machines which have less than 200MB RAM
>> + if [ "$mem_kb" -lt "200000" ]; then
>> + RUNSIZE=20M # for machines <= 200MB RAM
>
> Given that you initialize a default here, I think it would make the code
> more obvious if you pulled the 10% default 4 lines later into an else
> branch.
Not sure I understand this...?
>> + fi
>> +fi
>> +
>> mount -t tmpfs -o "nodev,noexec,nosuid,size=${RUNSIZE:-10%},mode=0755" tmpfs /run
>> mkdir -m 0700 /run/initramfs
>
> Helmut
Thank you Helmut!
Helge