LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions
User Name
Password
Linux - Distributions This forum is for Distribution specific questions.
Red Hat, Slackware, Debian, Novell, LFS, Mandriva, Ubuntu, Fedora - the list goes on and on... Note: An (*) indicates there is no official participation from that distribution here at LQ.

Notices


Reply
  Search this Thread
Old 09-12-2017, 09:23 AM   #1
challengersky
LQ Newbie
 
Registered: Sep 2017
Location: SoCal
Distribution: Linux from Scratch (Debian / Ubuntu)
Posts: 15

Rep: Reputation: Disabled
Question Which distro is very small with networking, no desktop, command line only


Hi,

I'm looking for a very small footprint Linux distro with networking, no desktops, no audio and just a command line interface.

I know there are server versions, but even they have a lot of extra bulk.

I'm putting it on a small embedded system controller. All I need is networking, serial ports, VGA with just a command line interface.
 
Old 09-12-2017, 09:48 AM   #2
frieza
Senior Member
 
Registered: Feb 2002
Location: harvard, il
Distribution: Ubuntu 11.4,DD-WRT micro plus ssh,lfs-6.6,Fedora 15,Fedora 16
Posts: 3,233

Rep: Reputation: 406Reputation: 406Reputation: 406Reputation: 406Reputation: 406
uClinux comes to mind, it's a Linux distribution designed for embedded systems.
https://en.wikipedia.org/wiki/%CE%9CClinux
 
1 members found this post helpful.
Old 09-12-2017, 05:18 PM   #3
challengersky
LQ Newbie
 
Registered: Sep 2017
Location: SoCal
Distribution: Linux from Scratch (Debian / Ubuntu)
Posts: 15

Original Poster
Rep: Reputation: Disabled
Frieza, thanks much. However uClinux doesn't appear to support x86 which is what I currently need. I will keep it in mind though for the smaller future designs which will use other archs.
 
Old 09-12-2017, 06:29 PM   #4
ferrari
LQ Guru
 
Registered: Sep 2003
Location: Auckland, NZ
Distribution: openSUSE Leap
Posts: 5,993

Rep: Reputation: 1170Reputation: 1170Reputation: 1170Reputation: 1170Reputation: 1170Reputation: 1170Reputation: 1170Reputation: 1170Reputation: 1170
Maybe archlinux could meet your needs with a minimal install?
 
1 members found this post helpful.
Old 09-12-2017, 08:13 PM   #5
frankbell
LQ Guru
 
Registered: Jan 2006
Location: Virginia, USA
Distribution: Slackware, Ubuntu MATE, Mageia, and whatever VMs I happen to be playing with
Posts: 19,829
Blog Entries: 28

Rep: Reputation: 6330Reputation: 6330Reputation: 6330Reputation: 6330Reputation: 6330Reputation: 6330Reputation: 6330Reputation: 6330Reputation: 6330Reputation: 6330Reputation: 6330
A minimal install of Slackware, without installing any of the GUI components, might be an option.

This page outlines what software is in which software set. (It appears to be in need of updating, as Gnome has not been included in Slackware for years, but it's a starting point. The Slackware install is nicely annotated as to what software in each software set.)

Last edited by frankbell; 09-12-2017 at 08:19 PM.
 
1 members found this post helpful.
Old 09-13-2017, 02:05 AM   #6
!!!
Member
 
Registered: Jan 2017
Location: Fremont, CA, USA
Distribution: Trying any&ALL on old/minimal
Posts: 997

Rep: Reputation: 383Reputation: 383Reputation: 383Reputation: 383
Do you need anything more than busybox? Http://DistroWatch.com/mll IF not.
 
1 members found this post helpful.
Old 09-13-2017, 02:28 AM   #7
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 21,361

Rep: Reputation: 4190Reputation: 4190Reputation: 4190Reputation: 4190Reputation: 4190Reputation: 4190Reputation: 4190Reputation: 4190Reputation: 4190Reputation: 4190Reputation: 4190
Depends on the OP's definition of "minimal". On all my small systems (pi3, so ARM) I have to have ssh and rsync - some might consider them part of a minimal "network" install. Maybe even me ...

I use Arch in such situations - x86 and ARM - but any decent system should do; Debian, Slack, ...
 
1 members found this post helpful.
Old 09-13-2017, 10:26 AM   #8
IsaacKuo
Senior Member
 
Registered: Apr 2004
Location: Baton Rouge, Louisiana, USA
Distribution: Debian Stable
Posts: 2,546
Blog Entries: 8

Rep: Reputation: 465Reputation: 465Reputation: 465Reputation: 465Reputation: 465
How small do you need? What's the RAM, and what's the storage?

If I were feeling particularly adventurous, I'd try cramming everything into a customized initrd/vmlinuz of Debian (since Debian is what I'm most familiar with). Strip things down, and it'll fit under 32MB of storage. This will provide a very minimal command line interface, and some sort of networking capability (for example, this is required for PXE boot off an nfs root).

But to what end?
 
Old 09-13-2017, 10:51 AM   #9
challengersky
LQ Newbie
 
Registered: Sep 2017
Location: SoCal
Distribution: Linux from Scratch (Debian / Ubuntu)
Posts: 15

Original Poster
Rep: Reputation: Disabled
Hi IsaacKuo,

My current test system is a Diamond Systems Helix SBC. It has a dual core intel x86 processor (non-PAE) with 1GB of RAM. My mSATA drive is 4GB. I'm currently running Xubuntu 12.04.

My next iteration will be with the same processor with 1GB of RAM, but I will only have 256MB of disc space. I'm going to need 192MB for data/log files.

I'm currently in the process of building LFS 8.1. (Learning for me, and to see how it will work).

I like your suggestion of stripping down a Debian version. What I'm not familiar with is how to properly strip a packaged distro without breaking it. I've tried a couple and end up breaking it because somewhere along the line I end up loosing a dependency package or two. To answer your question about size, anything under 64MB would be great.

I used to build custom systems from scratch using Monta-Vista Linux, but it was through all their tools. The only truly hands on playing I got was building custom kernels. I got good at making specialized custom kernels, but it's been 8 years since I've even done that. But I'll be customizing the kernel of small system I get build for this project.

I've rambled for too long. Thanks for any suggestions or help.
 
Old 09-13-2017, 11:01 AM   #10
Timothy Miller
Moderator
 
Registered: Feb 2003
Location: Arizona, USA
Distribution: Debian, EndeavourOS, OpenSUSE, KDE Neon
Posts: 4,028
Blog Entries: 27

Rep: Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524Reputation: 1524
Slackware, Debian, Mageia, and many more all have options for a minimal install.

Arch linux is deprecating 32-bit, so that probably wouldn't be the best choice.
 
1 members found this post helpful.
Old 09-13-2017, 11:56 AM   #11
IsaacKuo
Senior Member
 
Registered: Apr 2004
Location: Baton Rouge, Louisiana, USA
Distribution: Debian Stable
Posts: 2,546
Blog Entries: 8

Rep: Reputation: 465Reputation: 465Reputation: 465Reputation: 465Reputation: 465
Oh, I'm not talking about a stripped down Debian. Less than 64MB? No way! But if you can cram everything into the initrd/vmlinuz, then THAT can be very minimal indeed. We're talking the extremely minimal initrd environment, mind you.

Normally, the initrd is used simply to get the main partitions mounted and then chroot'ing into it to continue with most of the boot process.

But if you are mindful of the extremely limited capabilities and *nix software available within the initrd environment, you can theoretically produce a working system purely inside it. In other words, it never mounts any other partitions and it never hands over things to any true Debian install.

Since it seems you're talking about some sort of embedded data collection device, rather than something requiring interactive use, the most suitable thing could be to hack your custom code into /usr/share/initramfs-tools/scripts/local. Basically, find the bit of code where ${ROOT} is mounted, and place your desired commands just below this.

My basic idea is that you will use ${ROOT} to store your data, but it will not actually have any Debian OS files on it. Instead, it will be empty except for /boot and another directory to store the data.

I'm not entirely sure where to put custom executables that you want to include inside the initrd image.

You can get some idea about how to hack code into the initrd and build it in my blog entries on RAMBOOT and NFS-RAMBOOT. These don't do precisely what you want, but it may give you an idea where to start.

So my basic strategy would be:

1) Do a prototype install on the 4GB prototype. Create just one big ext4 partition. Create a utility directory /store for the data. Figure out how to get things working within the customized initrd. In my blog how-tos, the customized initrd will have a GRUB submenu entry called "... .ramboot"; you have to go to the submenu and select the normal looking kernel name to get to the normal Debian install. (You'll need to boot into the normal install A LOT to get things working.)

2) Clone from the 4GB prototype to a 4+GB USB thumbdrive using "dd". Ideally from a liveUSB, so the OS partition isn't mounted at the time (albeit this can work). The command will be something like:

Code:
dd if=/dev/sda of=/dev/sdc bs=32256
You'll need to use "fdisk -l" to confirm the input and output devices.

3) Mount the clone and delete everything except for /boot and /store. Also delete the normal initrd/vmlinuz from /boot (you only want the customized ones). This should get everything down to around 35MB plus the size of your customized software.

4) Unmount; use gparted to shrink the partition to below 256MB

5) clone from the USB thumbdrive to the 256MB unit.

This is all going to be ... experimental. But getting something functional in under 64MB is a challenge.

Oh, you can minimize the size of initrd by removing modules you don't need. I'm not sure how much space that could save, but it could be quite a lot.

Last edited by IsaacKuo; 09-13-2017 at 11:57 AM.
 
1 members found this post helpful.
Old 09-15-2017, 01:43 PM   #12
fatmac
LQ Guru
 
Registered: Sep 2011
Location: Upper Hale, Surrey/Hants Border, UK
Distribution: One main distro, & some smaller ones casually.
Posts: 5,823

Rep: Reputation: Disabled
Simple, check out TinyCore - http://www.tinycorelinux.net/
 
1 members found this post helpful.
Old 09-15-2017, 03:19 PM   #13
challengersky
LQ Newbie
 
Registered: Sep 2017
Location: SoCal
Distribution: Linux from Scratch (Debian / Ubuntu)
Posts: 15

Original Poster
Rep: Reputation: Disabled
Hi Fatmac,

I just found that the other day searching around. I really like it and I think it will do everything I want.

Thanks!
 
  


Reply

Tags
command line interface, minimal, small systems


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Small footprint distro with desktop DealMeIn Linux - Newbie 8 12-10-2014 08:05 PM
Looking for NON compressed SMALL command line Linux distro mikedavid00 Linux - Newbie 3 10-31-2010 01:14 PM
command-line distro with small disk footprint and large repository arbeit macht frei Linux - Distributions 8 02-23-2010 06:54 AM
networking the command line way Prasanna Rajaram Linux - Networking 3 02-10-2008 01:14 PM
small command line problem... serious7 Linux - Newbie 1 07-04-2006 04:49 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions

All times are GMT -5. The time now is 03:28 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration