Quella che segue probabilmente è la più piccola configurazione possibile che permette di far funzionare Linux: 386SX/16, 1 MB di RAM, un floppy da 1.44 MB o 1.2 MB, una qualsiasi delle schede video supportate (+ ovviamente tastiera, monitor e così via). Questa dovrebbe permettere di avviare Linux e di provare se funziona o meno nella macchina, ma non si sarà in grado di fare niente altro di utile. Si veda http://rsphy1.anu.edu.au/~gpg109/mem.html per altre configurazioni minime di Linux.
Per poter fare qualcosa, sarà necessario un po' di spazio su un disco fisso, da 5 a 10 MB dovrebbero essere sufficienti per un'installazione proprio minima (con solo i comandi più importanti e forse una o due piccole applicazioni, come una programma di terminale). Questa è ancora una installazione molto ma molto limitata e molto scomoda a meno che le proprie applicazioni non siano proprio limitate. Generalmente non è raccomandata per farci niente se non un po' di test di funzionamento, e naturalmente per essere in grado di vantarsi del fatto che le risorse richieste sono veramente minime.
Se si ha intenzione di usare programmi intensi a livello computazionale, come gcc, X e TeX probabilmente si avrà bisogno di un processore più veloce di un 386SX/16, sebbene anche questo potrebbe essere sufficiente se si ha pazienza.
In pratica, si avrà bisogno di almeno 4 MB di RAM se non si usa X, e di 8 MB se lo si usa. Inoltre, se si vogliono avere più utenti in contemporanea, o eseguire contemporaneamente più programmi grossi (compilazioni, per esempio), si avrà bisogno di più di 4 MB di memoria. Funzionerà comunque anche con meno memoria ma userà la memoria virtuale (usando il disco fisso come una memoria lenta) ma sarà così lento da essere inutilizzabile. Se si usano più programmi contemporaneamente, 16 MB riduranno considerevolmente le operazioni di swap. Se non si vuole fare swap in maniera apprezzabile durante il normale carico, 32 MB probabilmente saranno sufficienti. Se si usano assieme molte applicazioni che usano intensamente la memoria, saranno necessari 64 MB per evitare un sacco di swap. Naturalmente se si usano applicazioni fameliche in termini di memoria, bisognerà aggiungerne.
Lo spazio su disco di cui si ha bisogno dipende da quale software si vuole installare. L'insieme normale di utility Unix, shell e programmi di amministrazione dovrebbero stare abbondantemente in meno di 10 MB, con un po' di spazio libero per i file degli utenti. Per un sistema più completo, si prenda Red Hat, Debian, o un'altra distribuzione e si faccia conto che saranno necessari dai 60 ai 600 MB, a seconda di cosa si sceglie di installare e di quale distribuzione si prende. Si aggiunga lo spazio che si vuole riservare per i file degli utenti a questi totali. Con i prezzi correnti dei dischi fissi, se si sta per comperare una nuova macchina, non ha senso comperare un disco fisso troppo piccolo. Se ne prenda almeno uno da 2 GB, preferibilmente 4 GB o più, e si vedrà che non andrà sprecato. Linux gestisce tranquillamente dischi fissi molto grandi come i recenti e popolari dischi IDE da 11 GB e SCSI da 18 GB.
Si aggiunga più memoria, più spazio su disco, un processore più veloce e altro a seconda delle proprie necessità, desideri e disponibilità economiche. In generale, una grossa differenza tra Linux e DOS è che in Linux l'aggiunta di memoria fa una grande differenza, mentre in DOS memoria in più non fa poi molta differenza. Naturalmente ciò ha a che fare con il limite dei 640KB, che sotto Linux non esiste.
Qualsiasi cosa in grado di eseguire programmi in modalità 386 protetta. Tutti i modelli di 386, 486, Pentium, Pentium Pro, Pentium II e cloni di questi chip dovrebbero andar bene (i 286 e inferiori potrebbero un giorno essere supportati da un kernel più piccolo detto ELKS (Embeddable Linux Kernel Subset), ma non ci si aspetti le stesse caratteristiche). Una versione per CPU 680x0 (con x = 2 con MMU esterna, 3, 4 e 6) che funziona su Amiga e Atari può essere reperita a tsx-11.mit.edu nella directory 680x0. Sono supportate molte macchine DEC Alpha, SPARC, e PowerPC. Sono in lavorazione anche i port su architetture ARM, StrongARM, e MIPS. Maggiori dettagli sono reperibili da qualche altra parte.
Bus PCI, ISA, EISA e VLB. Il supporto per MCA (la maggior parte dei PS/2 true blue) è incompleto ma sta migliorando (si veda sopra). I local bus (VLB e PCI) funzionano. Linux è molto più esigente sull'hardware rispetto a DOS, Windows e in pratica molti altri sistemi operativi. Ciò significa che alcuni componenti hardware, che potrebbe funzionare se usati con altri sistemi operativi meno esigenti, potrebbero dare problemi quando usati con Linux. Linux è un eccellente tester della memoria...
Fino a 1 GB su Intel; di più su piattaforme a 64-bit. Alcuni (tra cui Linus) hanno notato che aggiungere RAM senza allo stesso tempo aggiungere anche cache ha estremamente rallentato le loro macchine, quindi se si aggiunge RAM e si trova che la propria macchina sia più lenta, si provi ad aggiungere ancora cache. Alcune macchine possono fare il cache solo di una certa parte della memoria indipendentemente da quanta RAM è installata (64 MB è la dimensione di cui i chipset più popolari possono fare la cache). Oltre i 64 MB sarà necessario un parametro al boot con kernel 2.0.35 e precendenti, in quanto il BIOS non può riportare più di 64 MB. I recenti kernel 2.1.x e successivi sono in grado di rilevare tutta la memoria di un sistema.
Sono supportati i drive AT generici (controller di HD EIDE, IDE e a 16 bit con MFM, RLL o ESDI), così come lo sono i dischi fissi e i CD-ROM SCSI con un adattatore SCSI tra quelli supportati. Sono supportati anche i controller generici XT (controller a 8 bit con MFM o RLL). Adattatori SCSI supportati: Advansys, Adaptec 1542, 1522, 1740, e le serie 27xx e 29xx (con alcune eccezioni), Buslogic MultiMaster e Flashpoint, controller basati su NCR53c8xx, controller DPT, controller Qlogic ISP e FAS, Seagate ST-01 and ST-02, la serie Future Domain TMC-88x (o qualsiasi scheda basata sul chip TMC950) e TMC1660/1680, Ultrastor 14F, 24F and 34F, Western Digital wd7000 ed altri. Sono anche supportati i nastri SCSI, QIC-02 e alcuni QIC-80. A parte i cdrom IDE e SCSI, sono supportati anche parecchi dispositivi CD-ROM proprietari, tra cui Matsushita/Panasonic, Mitsumi, Sony, Soundblaster, Toshiba, ATAPI (EIDE), SCSI e altri. Per i modelli esatti si veda l'Hardware compatibility HOWTO. N.B. Questi elenchi sono incompleti, e lo saranno sempre. Chi vende le distribuzioni mantiene generalmente una lista molto più aggiornata.
In modo testo funzionano le VGA, EGA, CGA o Hercules (e compatibili). Per la grafica e X, c'è il supporto (almeno) per VGA normale, alcune schede SVGA (molte delle schede basate su chipset Tseng, Paradise, e alcuni Trident), S3, 8514/A, ATI, Matrox ed Hercules (Linux usa il server X XFree86, il quale determina quali schede sono supportate. Una lista completa dei chipset supportati avrebbe occupato molto più di una pagina. Si veda http://www.XFree86.org/)
Il supporto Ethernet comprende 3COM 503/509/579/589/595/905 (le 501/505/507 sono supportate ma non raccomandate), AT&T GIS (neé NCR) WaveLAN, molte schede basate su WD8390 e su WD80x3, NE1000/2000 e cloni, AC3200, Apricot 82596, AT1700, ATP, DE425/434/435/500, D-Link DE-600/620, DEPCA, DE100/101, DE200/201/202 Turbo, DE210, DE422, Cabletron E2100 (non raccomandata), Intel EtherExpress (non raccomandata), EtherExpress Pro, EtherExpress 100, DEC EtherWORKS 3, HP LAN, HP PCLAN/plus, molte schede basate su AMD LANCE, NI5210, ni6510, SMC Ultra, DEC 21040 (tulip), Zenith Z-Note ethernet. Tutte le schede Zircom e tutte le Cabletron diverse dalla E2100 non sono supportate, a causa nel rifiuto dei costruttori di fornire gratuitamente informazioni per programmarle.
Il supporto FDDI attualmente comprende le schede DEFxx della DEC.
Il supporto di rete Point-to-Point comprende PPP, SLIP, CSLIP e PLIP. Il supporto per il PPP è disponibile sia per dispositivi asincroni standard come i modem, sia per connessioni sincrone come ISDN.
È disponibile un supporto limitato per il Token Ring.
Molte schede basate su UART 16450 e 16550, tra cui AST Fourport, Usenet Serial Card II e altre. Le schede intelligenti supportate comprendono la serie Cyclom della Cyclades (supportata dal costruttore), la serie Rocketport della Comtrol (supportata dal costruttore), Stallion (la maggior parte delle schede; supportate dal costruttore) e Digi (alcune schede; supportate dal costruttore). È supportato anche un po' di hardware per ISDN, frame relay e leased line.
SoundBlaster, ProAudio Spectrum 16, Gravis Ultrasound, molte altre schede audio, molti (tutti?) tipi di bus mouse (Microsoft, Logitech, PS/2), ecc.