Portabilidad del núcleo Linux y arquitecturas soportadas
# Portabilidad del núcleo Linux y arquitecturas soportadas

La Portabilidad del núcleo Linux y arquitecturas soportadas, se refiere a que originalmente escrito para procesadores Intel i386, el núcleo Linux fue recodificado para facilitar la portabilidad de éste.

Los componentes básicos de la familia de sistemas operativos Linux, que se basan en el kernel Linux, la biblioteca GNU C, BusyBox o sus bifurcaciones como μClinux y uClibc, se han programado teniendo en cuenta un cierto nivel de abstracción. Además, hay distintas rutas de código en lenguaje ensamblador o código fuente C que admiten cierto hardware. Por lo tanto, el código fuente se puede compilar con éxito o compilar de forma cruzada para una gran cantidad de arquitecturas informáticas.

Habiendo sido reescrito una vez para la arquitectura Motorola 68K, la perspectiva de las tediosas reescrituras para cada arquitectura posible, incitada por Linus Torvalds, se enfocaba en poseer una base de código modular que pudiese ser portada hacia diferentes arquitecturas con un mínimo de esfuerzo.

Carpetas específicas de arquitectura en las fuentes del núcleo, se dirigen a detalles particulares de cada procesador soportado, mientras todas las ventajas radican el en hecho de compartir un idéntico código de núcleo.

La modularidad adicional fue alcanzada por el núcleo 2.0 con módulos dinámicamente cargables.

## Linux en los dispositivos portátiles

Es posible instalar el núcleo Linux en cualquier dispositivo o máquina de carácter portátil, como por ejemplo, un teléfono celular, o un ordenador de mano, siempre y cuando el núcleo se compile para las necesidades de dicho dispositivo. El concepto no es completamente aplicable a las computadoras portátiles, aunque Linux puede instalarse allí también. Aun cuando Linus Torvalds no ideó originalmente Linux como un sistema portable, ha evolucionado en esa dirección. Linux es ahora de hecho, uno de los núcleos de sistema operativo más ampliamente portados, y funciona en sistemas muy diversos que van desde iPAQ (una handheld) hasta un zSeries (un mainframe masivo, muy costoso). Está planeado que Linux sea el sistema operativo principal de las nuevas supercomputadoras de IBM, Blue Gene cuando su desarrollo se complete.

De todos modos, es importante notar que los esfuerzos de Torvalds también estaban dirigidos a un tipo diferente de portabilidad. Según su punto de vista, la portabilidad es la habilidad de compilar fácilmente en un sistema aplicaciones de los orígenes más diversos; así, la popularidad original de Linux se debió en parte al poco esfuerzo necesario para tener funcionando las aplicaciones favoritas de todos, ya sean GPL o de Código abierto.

## Lista de arquitecturas soportadas

El núcleo Linux soporta las siguientes arquitecturas:

| Arquitectura raíz o tipo | Arquitectura específica |
| - | - |
| Alpha | DEC Alpha Samsung Alpha CPU. |
| Intel (Altera) NIOS II ARM - nios2 | |
| Analog Devices | Blackfin (desde la versión 2.6.22 del núcleo Linux). |
| Andes Technology NDS32 (nd32) (incluido en el kernel v5.18.6) | |
| Argonaut RISC Core (ARC) de ARC International | |
| Arquitectura ARM (32 y 64-bit) (arm y arm64 | Acorn Archimedes y Risc PC series (las máquinas originales fueron compatibles con 2.6.22) Allwinner Procesadores Apple Serie M Broadcom VideoCore DEC StrongARM Samsung Exynos Marvell (ex Intel) XScale Sharp Zaurus HiSilicon iPAQ Tungsten Handheld de Palm, Inc. GP2X de Gamepark Holdings Open Pandora MediaTek Nokia 770 Internet Tablet Nokia N800 Nokia N810 Nokia N900 Nomadik NovaThor (descontinuada) gumstix Nintendo DS vía DSlinux Sony Mylo Qualcomm Snapdragon Nvidia Tegra TI OMAP Psion 5, 5MX, Series 7, netBook Rockchip Algunos Modelos de Apple iPod (ver iPodLinux) OpenMoko Neo 1973, Neo FreeRunner Procesadores multimedia i.MX de Freescale (antes de Motorola) Algunos celulares Motorola de la Serie Rokr, como Z6 o E2. |
| Atmel AVR32 (eliminado desde 4.12) (avr32) | |
| C-SKY | |
| Elbrus-8S | |
| Familia de Texas Instruments TMS320 de DSP de Texas Instruments | TMS320C64x (c6x) (incluido en el núcleo v5.18.6) |
| ETRAX CRIS de Axis Communications (retirado desde 4.17) | |
| Freescale (anteriormente Motorola 68k arquitecturas (68020, 68030, 68040, 68060) (m68k) | Algunas arquitecturas Amiga: A1200, A2500, A3000, A4000 Apple Macintosh II, LC, Quadra, Centris y tempranamente Performa series Algunas estaciones de trabajo Sun Microsystems Serie 43 (en modo experimental, usa Sun-3 MMU) Algunas computadoras Atari (TT y Falcon030) |
| Fujitsu FR-V (retirado desde 4.17) (frv) | |
| PA-RISC de Hewlett-Packard (parisc) | |
| H8 arquitectura de Renesas Technology, anteriormente Hitachi. (h8300) | H8/300 H8/500 |
| IBM | System/390 (31-bit) (s390) zSeries y System z9 mainframes (64-bit) (s390x) |
| Intel IA-64 Itanium, Itanium II (ia64) | |
| x86 (x86) | Arquitecturas IBM PC compatibles usando procesadores IA-32 y x86-64: Intel 80386 (retirado desde 3.8), 80486, y AMD, Cyrix, Texas Instruments y variantes IBM La serie completa de Pentium y las variantes Celeron y Xeon Los procesadores Intel Core AMD 5x86, K5, K6, Athlon (all 32-bit versions), Duron, Sempron x86-64: Arquitecturas de procesador de 64-bit, conocidas oficialmente como AMD64 (AMD) o Intel64 (Intel); soportadas para procesadores Athlon 64, Opteron e Intel Core 2, entre otras Cyrix 5x86, 6x86 (M1), 6x86MX y series MediaGX (National/AMD Geode) VIA Technologies Eden (Samuel II), VIA C3, y VIA C7 Xbox de Microsoft (procesador Pentium III), por el proyecto Xbox Linux SGI Visual Workstation (Procesadores Pentium II/III con chipset SGI) Sun386i, Sun Microsystem, estaciones de trabajo 80386 y 80486. Soporte para CPU's 8086, 8088, 80186, 80188 y 80286 está bajo desarrollo la bifuración ELKS) |
| M32R de Mitsubishi (retirado desde 4.17) (m32r). | |
| Microblaze de Xilinx (m32r). | |
| MIPS (mips): | Dingoo (Ingenic Jz4732) Infineon Amazon y Danube Network Processors Ingenic Jz4740 Loongson (Godson o Dragon chip) (compatible con MIPS) y modelos 2 y 2E, de BLX IC Design Ltd (China) Jazz Cobalt Qube, Cobalt RaQ DECstation Algunos modelos de PlayStation 2, por el proyecto PS2 Linux PlayStation Portable uClinux 2.4.19 Conjuntos de chips inalámbricos Broadcom Dreambox (modelos HD) Procesadores de paquetes Cavium Octeon |
| MN103 from Panasonic Corporation (dropped since 4.17) (mn10300) | |
| NEC v850e | |
| Olivetti | PDA Olivetti DaVinci, con procesadores DragonBall. |
| OpenRISC, series de procesador open core (openrisc) | Beyond semiconductor OR1200 Beyond semiconductor OR1210 |
| Power Architecture (Power ISA) | Servidores IBM |
| PowerPC | Cell de IBM La mayoría de las computadoras de pre-Intel Apple (basadas en PCI Power Macintosh, soporte limitado para las antiguas NuBus Power Macs) Clones del PCI Power Mac, Power Computing, UMAX y Motorola Amiga mejoradas con una tarjeta "Power-UP"(por ejemplo las Blizzard y CyberStorm) AmigaOne Motherboard de Eyetech Group Ltd (UK) Samantha PowerPC Motherboard (Sam440ep) de Soft3 (Italia). Motherboard Amy'05 PowerPC de Troika. IBM RS/6000, iSeries y sistemas pSeries Pegasos I y II de Genesi. Nintendo GameCube, por Nintendo GameCube Linux El proyecto BlackDog de Realm Systems, Inc. Sony PlayStation 3 PowerPC 400 V-Dragon CPU de Culturecom. Virtex II Pro Field Programmable Array (FPGA) de Xilinx con PowerPC cores. Dreambox (modelos que no son HD) |
| RISC-V (riscv) | |
| SPARC (sparc) | SPARC 32 bits: Sun-4 (eliminado desde el 2.6.27) Serie SPARCstation/SPARCserver (sun4m, sun4d) sun4c (eliminado desde la versión 3.5) LEON UltraSPARC 64 bits: Sun Ultra (UltraSparc) Sun Blade Sun Fire Clones hechos por Tatung Company Sistemas SPARC Enterprise, también basados ​​en los procesadores UltraSPARC T1, UltraSPARC T2, UltraSPARC T3 y UltraSPARC T4 |
| SuperH (sh) | Sega Dreamcast (SuperH SH4) HP Jornada 680 por JLime distribución (SuperH SH3) |
| Synopsys DesignWare Núcleos ARC, desarrollados originalmente por ARC International (arc) | |
| S+core (retirado desde 4.17) (score) | |
| Tilera (retirado desde 4.17) | |
| Xtensa de Tensilica | |
| Transmeta Crusoe | |
| UniCore32 (unicore32) | |

Procesadores adicionales (particularmente los 68000 de Freescale y ColdFire) están soportadas por la variante MMU-less μClinux.

