Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Wed 26 Sep 2018, 03:19
All times are UTC - 4
 Forum index » Advanced Topics » Puppy Projects
Smallest 32 bit kernel with multiprocess support?
Moderators: Flash, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 1 [9 Posts]  
Author Message
Lassar

Joined: 08 Jul 2014
Posts: 221

PostPosted: Wed 28 Feb 2018, 21:11    Post subject:  Smallest 32 bit kernel with multiprocess support?  

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.
Back to top
View user's profile Send private message 
Sailor Enceladus

Joined: 22 Feb 2016
Posts: 1540

PostPosted: Wed 28 Feb 2018, 22:12    Post subject:  

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. Laughing
Back to top
View user's profile Send private message 
bigpup


Joined: 11 Oct 2009
Posts: 11033
Location: Charleston S.C. USA

PostPosted: Wed 28 Feb 2018, 23:04    Post subject:  

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.

_________________
I have found, in trying to help people, that 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 Shocked
Back to top
View user's profile Send private message 
jamesbond

Joined: 26 Feb 2007
Posts: 3159
Location: The Blue Marble

PostPosted: Thu 01 Mar 2018, 01:35    Post subject:  

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, Slacko and Puppeee user. Puppy user since 2.13.
Contributed Fatdog64 packages thread.
Back to top
View user's profile Send private message 
mikeslr


Joined: 16 Jun 2008
Posts: 2635
Location: 500 seconds from Sol

PostPosted: Thu 01 Mar 2018, 11:08    Post subject: firmware cutter &/or remaster  

Not sure it will function under all puppies* or if it provides more flexibility than remaster: http://murga-linux.com/puppy/viewtopic.php?p=383851#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.
Back to top
View user's profile Send private message 
Lassar

Joined: 08 Jul 2014
Posts: 221

PostPosted: Fri 02 Mar 2018, 01:17    Post subject:  

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?
Back to top
View user's profile Send private message 
mavrothal


Joined: 24 Aug 2009
Posts: 2977

PostPosted: Fri 02 Mar 2018, 05:24    Post subject:  

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:
#!/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

_________________
== Here is how to solve your Linux problems fast ==
Back to top
View user's profile Send private message 
mikeslr


Joined: 16 Jun 2008
Posts: 2635
Location: 500 seconds from Sol

PostPosted: Fri 02 Mar 2018, 12:51    Post subject: The 3.16 or 4.4 Kernels  

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
Back to top
View user's profile Send private message 
mavrothal


Joined: 24 Aug 2009
Posts: 2977

PostPosted: Fri 02 Mar 2018, 15:50    Post subject: Re: The 3.16 or 4.4 Kernels  

When I said "get a kernel" I meant "build one" as other posts alluded to. kernel kit makes it easy.
_________________
== Here is how to solve your Linux problems fast ==
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 1 [9 Posts]  
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Puppy Projects
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0660s ][ Queries: 12 (0.0156s) ][ GZIP on ]