Smallest 32 bit kernel with multiprocess support?

A home for all kinds of Puppy related projects
Post Reply
Message
Author
Lassar
Posts: 235
Joined: Tue 08 Jul 2014, 20:01

Smallest 32 bit kernel with multiprocess support?

#1 Post by Lassar »

What is the smallest working 32 bit kernel with multiprocessor support?

Have been trying to make a bare-bones xenilapup.

Was looking at racypuppy. It's kernel is pretty small. Around 5 mb.

Been looking at the latest xenialpup kernel's.

The kernels are around 80 mb.

This seems way too bloated in size.

Sailor Enceladus
Posts: 1543
Joined: Mon 22 Feb 2016, 19:43

#2 Post by Sailor Enceladus »

There is a huge-3.14.56-tahr (29.6MB) and huge-4.1.30-xenial (36.1MB) here:

http://distro.ibiblio.org/puppylinux/huge_kernels/

Since they are "official" you can put the blame on someone else if something you need is missing in them I guess. :lol:

User avatar
bigpup
Posts: 13886
Joined: Sun 11 Oct 2009, 18:15
Location: S.C. USA

#3 Post by bigpup »

You do understand that the biggest part of the Linux kernel is basically a bunch of drivers and hardware support files.

The 4 series is bigger than the 3 series because they have more hardware support.
All the old hardware and all the new hardware at the time the kernel was made.

On newish or very new computers, only the kernel 4 series are going to have the drivers and support.

So, how small you want the kernel, really depends on what hardware you want it to support or not support.

Usually when the bootup is complete.
The only stuff that really gets loaded, is what is actually needed for the hardware that is detected in the computer.
That is going to be different for each different computer.
However, what is needed for all computers is in the kernel if needed to be loaded.

Example:
My newest computer will boot with a 3 series kernel, but only the very basic hardware is supported.
But not very well.
No Wifi, graphics is minimal, limited keyboard features, no SSD full support, etc.....
Some hardware was not even built when the kernel 3 series was developed. So, how could it support the hardware.
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected :shock:
YaPI(any iso installer)

jamesbond
Posts: 3433
Joined: Mon 26 Feb 2007, 05:02
Location: The Blue Marble

#4 Post by jamesbond »

bigpup is right.

The smallest kernel is the one you build yourself. Only build the drivers that you need. Only include firmware that you need. E.g. if you use intel graphics don't build drivers for radeon and nvidia, and don't include the firmware either. If you only use atheros wifi don't build wifi drivers for intel, realtek, broadcom, and others (and don't include their firmware as well). If you don't use wired ethernet then don't build its drivers. If you only use ext2 then don't build filesystem drivers for ntfs, fat, ext3, ext4, btrfs, f2fs, and others. You will have a kernel that is extremely small, but it will only run on your own machine. Which may be okay, if that's how you plan to run it.

If you look at the kernels around here, they're build for general use and support as many different machines as possible. They won't be small. And as bigpup already said above, newer kernels supports new hardware (while still keeping support for older hardware), so that's why kernel size is always increasing with time.
Fatdog64 forum links: [url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Latest version[/url] | [url=https://cutt.ly/ke8sn5H]Contributed packages[/url] | [url=https://cutt.ly/se8scrb]ISO builder[/url]

User avatar
mikeslr
Posts: 3890
Joined: Mon 16 Jun 2008, 21:20
Location: 500 seconds from Sol

firmware cutter &/or remaster

#5 Post by mikeslr »

Not sure it will function under all puppies* or if it provides more flexibility than remaster: http://murga-linux.com/puppy/viewtopic. ... 851#383851

When remastering, don't you have the option to only include the firmware/drivers required by your system. Of course, that's not much value if you have 2 or a couple computers and want to run your custom Puppy on each, ? Say, three remasters, then one manual build combining /etc & drivers and firmware from those into one Puppy.

Seems a lot of work for very little reduction in size.

mikesLr

* PS -- a quick examination of this pet reveals it is a bash-script which may run under all Puppies. However, it is above my pay grade to determine whether it deals with firmware individually --so may not, as written, be able to remove the builtin firmware which didn't exist when the script was written; and I think, but am uncertain, that it only removes drivers associated with the firmware which was removed.

Lassar
Posts: 235
Joined: Tue 08 Jul 2014, 20:01

#6 Post by Lassar »

I am trying to build a new kodi-lite for old computers with 1 to 4 gigs of memory.

How much would one have to worry about new hardware on old computers?

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#7 Post by mavrothal »

The major memory load of "big" kernel is that puppy is loading the kernel SFS in memory, but you can eliminate that by the "nocopy" boot option.

Kernel size per se has little impact on RAM used by kernel functions.
At boot time is usually well under under 100MB for most puppies.

To see what your kernel is using you can try this little script

Code: Select all

#!/bin/sh
# Check kernel memory usage
BootMem=$(dmesg | grep Memory: | cut -f2 -d '(' | cut -f1 -d ')')
ModMem=$(expr $(awk '{sum += $2} END {print sum}' /proc/modules) / 1024)
KerSlab1=$(grep Slab /proc/meminfo | cut -f2 -d ':' )
echo 3 > /proc/sys/vm//drop_caches 
KerSlab2=$(grep Slab /proc/meminfo | cut -f2 -d ':' )

xmessage -font "7x14" -title "kernel mem use" -default OK  "Kernel Memory at boot : $BootMem
Modules memory :                            $ModMem kb
Kernel Slabs with caches : $KerSlab1
Kernel Slabs without caches : $KerSlab2"
Bottom line just get an oldish Long-Term-Support kernel like 3.16 or 4.4 that get impotant security fixes and have better older hardware support as well as reasonably resent (2014 or 2016) peripherals support
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
mikeslr
Posts: 3890
Joined: Mon 16 Jun 2008, 21:20
Location: 500 seconds from Sol

The 3.16 or 4.4 Kernels

#8 Post by mikeslr »

Hi mavrothal,

"Bottom line just get an oldish Long-Term-Support kernel like 3.16 or 4.4 that get impotant security fixes ..."

The problem with that suggestion is that the security fixes only were applied to the kernels after meltdown & spectre were discovered. The fixes are recent, mid-January 2018 to the present.

Available kernels before that time do not include the security fixes.

Only peebee and the FatDog Team have published kernels with those fixes, albeit as part of the publication of or update of Lxpup or Fatdog64. In order to use peebee's kernel in any other Puppy you have to download the Lxpup ISO and extract its vmlinuz, zdrv and fdrv.sfs. And the kernels peebee used are in the 4.14 and 4.15 series.

Fatdog64's fixes are to the 4.14 kernels. To use them in Puppies is even more problematic than using peebee's fixed kernels because of the structural differences which distinguish FatDogs from Puppies.

Although it is reasonably easy to change kernels in recent Puppies, hundreds of thousand of Puppies currently in use remain vulnerable to meltdown and spectre [and certainly would benefit from a kernel which is to receive support thru 2020]. Older Puppy versions and those used on older hardware apparently show marked degradation in speed when using kernels 4.9 or above. [Posts by musher0 and myself; and the Wiki recommends kernel 4.1.30 for computers currently more than 5 years old].

The fixed kernels available from kernel.org can not be used by Puppies OOTB. They don't include the auf-utilities that Puppies require. Of the 100's of thousand of Puppy users, few among them --and I'm not one-- have the knowledge and skill to compile a kernel or figure out how to add auf-utilities to compiled kernels. And those few have not published a fixed 3.16 or 4.4 kernel.

mikesLr

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

Re: The 3.16 or 4.4 Kernels

#9 Post by mavrothal »

When I said "get a kernel" I meant "build one" as other posts alluded to. kernel kit makes it easy.
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

Post Reply