2.1. 지원하는 하드웨어

데비안은 Linux 및 kFreeBSD 커널과 GNU 툴셋을 쓰는데 필요한 것 외에는 특별한 하드웨어를 요구하지 않습니다. 그러므로 Linux 및 kFreeBSD 커널, libc, gcc등이 포팅되어 있고, 데비안 포팅이 존재하면 아키텍처나 플랫폼에서 데비안을 작동시킬 수 있습니다. 이미 데비안 GNU/리눅스에서 테스트되는 32-bit hard-float ARMv7 아키텍처 시스템의 자세한 내용은 https://www.debian.org/ports/arm/에있는 포팅 페이지를 참조하십시오.

여기서는 32-bit hard-float ARMv7 아키텍처에서 지원하는 여러가지 하드웨어를 모두 설명하지는 않고, 일반적인 정보만 설명한 다음 추가 정보가 들어 있는 웹사이트를 안내해 놓았습니다.

2.1.1. 지원하는 아키텍처

데비안 GNU/리눅스 10 릴리스는 8개의 주요 아키텍처와 기종이라는 각 아키텍처 변형을 지원합니다.

아키텍처 데비안의 명칭 서브 아키텍처 기종
인텔 x86 기반 i386 일반 x86 컴퓨터 일반
Xen PV 도메인 전용 xen
AMD64 및 인텔 64 amd64    
ARM armel Marvell Kirkwood and Orion marvell
ARM, 하드웨어 FPU 포함 armhf 멀티플랫폼 armmp
64비트 ARM arm64    
32비트 MIPS (빅 엔디안) mips MIPS Malta 4kc-malta
Cavium Octeon octeon
64비트 MIPS (리틀 엔디안) mips64el MIPS Malta 5kc-malta
Cavium Octeon octeon
Loongson 3 loongson-3
32비트 MIPS (리틀 엔디안) mipsel MIPS Malta 4kc-malta
Cavium Octeon octeon
Loongson 3 loongson-3
Power Systems ppc64el IBM POWER8 또는 그 이후 시스템  
64비트 IBM S/390 s390x VM-reader 및 DASD에서 IPL generic

이 문서는 Linux커널을 이용한 32-bit hard-float ARMv7 아키텍처에서의 설치를 다루고 있습니다. 데비안이 지원하는 다른 아키텍처에 관한 정보를 찾고있다면, 데비안 포팅 페이지를 참조하십시오.

2.1.2. 3가지 ARM 포트

ARM 아키텍쳐는 발전해 왔고 현대적인 ARM 프로세서는 과거 모델에 없는 기능이 들어 있습니다. 그러므로 데비안에서는 다음 3가지 ARM 포트를 통해 여러가지 종류의 시스템을 최대한 지원합니다:

  • 데비안/armel은 오래된 32비트 ARM 프로세서로 하드웨어 부동 소수점 기능(FPU)이 없는 프로세서이고,

  • 데비안/armhf는 최소한 ARMv7 아키텍쳐를 구현하고 ARM vector floating point specification의 버전3를(VFPv3) 구현한 최근의 ARM 프로세서에서만 동작합니다. 이 모델의 프로세서에 들어 있는 확장된 기능을 사용하므로 성능이 높습니다.

  • 데비안/arm64는 최소한 ARMv8 아키텍쳐를 구현한 64비트 ARM 프로세서입니다.

현재 사용 가능한 ARM CPU는 빅이든 리틀이든 둘 중 하나의 엔디안에서 동작하지만, 실제로 대부분은 리틀 엔디안에서 동작합니다. 데비안/arm64, 데비안/armhf, 데비안/armel도 리틀 엔디안 시스템만 지원합니다.

2.1.3. ARM CPU 설계의 다양함과 복잡한 지원

ARM 시스템은 i386/amd64 기반 PC 아키텍쳐보다 하드웨어가 훨씬 더 다른 점이 많습니다. 그러므로 지원에 복잡한 부분이 많이 있습니다.

ARM 아키텍쳐는 시스템온칩(SoC, system on chip)에서 주로 사용합니다. 이 SoC는 여러 회사에서 여러가지 종류의 하드웨어를 집어넣도록 설계하고, 이 중에는 시스템이 부팅할 때 필요한 아주 기본적인 하드웨어도 있습니다. 시스템 펌웨어 인터페이스는 날이 갈수록 표준화가 되었지만, 특히 오래 된 하드웨어의 경우 펌웨어/부팅 인터페이스가 아주 많이 다릅니다. 그래서 이러한 시스템에서는 여러가지 시스템 수준의 저수준 문제를 (PC에서처럼 메인보드의 BIOS가 처리하는 게 아니라) 리눅스 커널에서 해결해야 합니다.

리눅스 커널에서 ARM을 지원하기 시작할 때는, 이 하드웨어 다양성 문제 때문에 PC에서처럼 만능 커널을 쓸 수 없고 각 ARM 시스템마다 별도의 커널이 필요했습니다. 이런 방식으로는 여러 종류의 시스템에 대응할 수 없기 때문에 여러 ARM 시스템에서 동작할 수 있는 단일 ARM 커널을 사용하는 작업이 되었습니다. 최근의 ARM 시스템에서는 그러한 멀티플랫폼 커널을 사용할 수 있게 지원하지만, 오래된 시스템에서는 아직도 별도의 전용 커널이 필요합니다. 이런 이유로 표준 데비안 배포판은 지정된 몇 개의 오래된 ARM 시스템과 최근 멀티플랫폼(armmp라고 부르는) 커널이 지원하는 최근 시스템만 데비안/armhf에서 지원합니다.

2.1.4. Debian/armhf가 지원하는 플랫폼

다음 시스템이 데비안/armhf에서 멀티플랫폼(armmp) 커널로 동작한다고 알려져 있습니다:

Freescale MX53 Quick Start Board (MX53 LOCO Board)

IMX53QSB는 i.MX53 SoC를 사용하는 개발 보드입니다.

Versatile Express

Versatile Express는 ARM에서 나온 개발 보드로, 여러가지 CPU 쪽보드를 사용하는 베이스 보드입니다.

몇몇 Allwinner sunXi 기반 개발 보드 및 임베디드 시스템

armmp 커널은 Allwinner A10(아키텍쳐 코드네임 sun4i, A10s/A13 (아키텍쳐 코드네임 sun5i), A20 (아키텍쳐 코드네임 sun7i), A31/A31s (아키텍쳐 코드네임 sun6i), A23/A33 (sun8i 패밀리의 일부) SoC 기반의 몇몇 개발 보드와 임베디드 시스템을 지원합니다. 완전한 설치 지원은 (설치 프로그램에서 준비된 SD 카드 이미지 포함) 다음 sunXi 기반 시스템에서 가능합니다:

  • Cubietech Cubieboard 1 + 2 / Cubietruck

  • LeMaker Banana Pi 및 Banana Pro

  • LinkSprite pcDuino 및 pcDuino3

  • Olimex A10-Olinuxino-LIME / A20-Olinuxino-LIME / A20-Olinuxino-LIME2 / A20-Olinuxino Micro / A20-SOM-EVB

  • Xunlong OrangePi Plus

Allwinner sunXi 기반 장치의 시스템 지원은 메인라인 리눅스 커널에 들어 있는 드라이버와 디바이스트리 정보에 한정됩니다. 벤더 전용 커널 (Allwinner 커널 등) 및 안드로이드 기반의 linux-sunxi.org 3.4 커널은 데비안에서 지원하지 않습니다.

메인라인 리눅스 커널은 Allwinner A10, A10s/A13, A20, A23/A33, A31/A31s SoC에서 일반적으로 시리얼 콘솔, 이더넷, SATA, USB, MMC/SD 카드를 지원합니다. 로컬 디스플레이(HDMI/VGA/LCD) 및 오디오 하드웨어에 대한 지원 수준은 시스템마다 다릅니다. 대부분의 시스템의 경우, 커널에 네이티브 그래픽 드라이버가 없지만 대신에 simplefb 인프라스트럭쳐를 사용해 여기서 부트로더가 디스플레이를 초기화하고 커널이 초기화된 프레임버퍼를 재사용합니다. 이 방법은 보통 잘 동작하지만, 일정 한계가 있습니다. 디스플레이 해상도를 중간에 바꾸지 못하고 디스플레이에 대한 전원 관리가 불가능합니다.

보드상의 플래시 메모리는 대용량 저장 장치로 사용되도록 의도한 것이고, sunXi 기반 시스템에서 두 가지 형태가 있습니다. 하나는 일반 NAND 플래시이고, 또 하나는 eMMC 플래시입니다. 예전 sunXi 기반 보드의 보드상 플래시는 일반 NAND 플래시를 사용하고 메인라인 커널에서는 지원하지 않으므로 데비안에서도 지원하지 않습니다. 최근 시스템은 일반 NAND 플래시 대신 eMMC 플래시를 사용합니다. eMMC 플래시 칩은 기본적으로 빠르고 빼는 게 불가능한 SD 카드처럼 보이고 일반 SD 카드와 마찬가지로 지원됩니다.

설치 프로그램에 위 목록에 없는 여러 sunXi 기반 시스템을 기초적으로 지원합니다. 하지만 데비안 프로젝트에서 해당 하드웨어를 사용해 볼 수가 없어서 그러한 시스템은 대부분 테스트되지 않았습니다. 이 시스템에 대해 빌드된 SD 카드 이미지는 제공하지 않습니다. 그렇게 제한되게 지원하는 개발 보드는 다음과 같습니다:

  • Olimex A10s-Olinuxino Micro / A13-Olinuxino / A13-Olinuxino Micro

  • Sinovoip BPI-M2 (A31s 기반)

  • Xunlong Orange Pi (A20 기반) / Orange Pi Mini (A20 기반)

위 목록에 있는 SoC와 시스템에 추가로, Allwinner H3 SoC 및 이에 기반한 여러 보드를 제한적으로 지원합니다. H3에 대한 메인라인 커널 지원은 데비안 9 릴리스 프리즈 당시 아직 진행 중이라서, 설치 프로그램은 H3 기반 시스템에서 시리얼 콘솔, MMC/SD, USB 호스트 컨트롤러만 지원합니다. 보드에 있는 이더넷 포트에 대한 드라이버가 아직 없으므로, 네트워크는 USB 이더넷 어댑터나 USB 와이파이 동글을 이용해야 합니다. 설치 프로그램이 제한적으로 지원하는 그러한 H3 기반 시스템은 다음과 같습니다:

  • FriendlyARM NanoPi NEO

  • Xunlong Orange Pi Lite / Orange Pi One / Orange Pi PC / Orange Pi PC Plus / Orange Pi Plus / Orange Pi Plus 2E / Orange Pi 2

NVIDIA Jetson TK1

NVIDIA Jetson TK1은 Tegra K1 (Tegra 124라고도 알려짐) 칩 기반으로 한 개발보드입니다. Tegra K1에는 쿼드코어 32비트 ARM Cortex-A15 CPU와 192개의 CUDA 코어가 탑재된 Kepler GPU가 (GK20A) 들어 있습니다. 기타 Tegra 124 기반 시스템도 동작할 수 있습니다.

Seagate Personal Cloud 및 Seagate NAS

Seagate Personal Cloud 및 Seagate NAS는 Marvell의 Armada 370 플랫폼에 기반한 NAS 장치입니다. 데비안은 Personal Cloud (SRN21C), Personal Cloud 2-Bay (SRN22C), Seagate NAS 2-Bay (SRPD20), Seagate NAS 4-Bay (SRPD40) 장치를 지원합니다.

SolidRun Cubox-i2eX / Cubox-i4Pro

Cubox-i 시리즈는 프리스케일 i.MX6 SoC 패밀리의 작은 큐브 모양의 시스템입니다. Cubox-i 시리즈의 시스템 지원은 메인라인 리눅스 커널에 있는 드라이버와 디바이스트리 정보에 한정되어 있습니다. Cubox-i용 프리스케일 3.0 커널 시리즈는 데비안에서 지원하지 않습니다. 메인라인 리눅스에서 사용할 수 있는 드라이버는 시리얼 콘솔, 이더넷, USB, MMC/SD 카드, HDMI를 통한 기본적인 로컬 디스플레이 (콘솔 및 HDMI) 기능입니다. 추가로 Cubox-i4Pro의 eSATA 포트를 지원합니다.

Wandboard

Wandboard Quad, Dual, Solo는 프리스케일 i.MX6 SoC 기반의 개발 보드입니다. 시스템 지원은 메인라인 리눅스 커널에 있는 드라이버와 디바이스트리 정보에 달려 있습니다. wandboard.org 사이트에 있는 Wandboard용 프리스케일 3.0 및 3.10 커널 시리즈는 데비안에서 지원하지 않습니다. 메인라인 리눅스에서 사용할 수 있는 드라이버는 시리얼 콘솔, HDMI를 통한 기본적인 로컬 디스플레이, 이더넷, USB, MMC/SD, SATA (Quad만 지원), 아날로그 오디오 기능입니다. 기타 오디오 옵션(S/PDIF, HDMI 오디오) 및 내장 무선랜/블루투스 모듈은 테스트되지 않았고 데비안 9에서 지원하지 않습니다.

보통 ARM 멀티플랫폼 기능을 사용하면 위 목록에 없는 armhf 시스템에서 debian-installer를 실행할 수 있습니다. 단 debian-installer가 사용하는 커널에서 대상 시스템의 구성 요소 및 device-tree 파일을 사용할 수 있어야 합니다. 이 경우 설치 프로그램에서 유저랜드 프로그램까지 동작하도록 설치할 수 있습니다. 하지만 시스템이 부팅 가능하게 만들지는 못합니다. 부팅 가능하게 만드려면 하드웨어 전용 정보가 필요하기 때문입니다.

이러한 시스템에서 debian-installer를 사용할 때 설치가 끝나고 시스템이 부팅 가능하도록 수동으로 설정해야 할 수도 있습니다. 예를 들어 debian-installer에서 시작한 셸에서 필요한 명령어를 실행하든지 해야 합니다.

2.1.5. 이제 Debian/armhf가 지원하지 않는 플랫폼

EfikaMX

EfikaMX 플랫폼은(Genesi Efika Smartbook 및 Genesi EfikaMX 넷톱) 데비안 버전 7에서 지원했었지만, 버전 8 이후부터는 지원하지 않습니다. 예전에 사용한 플랫폼 전용 커널을 빌드하는데 필요한 코드가 2012년에 리눅스 커널 소스에서 제거되었으므로, 데비안에서 새로 빌드할 수가 없습니다. EfikaMX 플랫폼에서 armmp 멀티플랫폼 커널을 사용하려면 디바이스 트리 지원이 있어야 하지만, 현재 없습니다.

2.1.6. 다중 프로세서

멀티 프로세서 지원(대칭 멀티 프로세싱 또는 SMP라고 부르는)은 이 아키텍처에 사용할 수 있습니다. 데비안 10 표준 커널 이미지는 SMP-alternatives 지원을 사용하여 컴파일되어 있습니다. 여기서는 커널에서 프로세서(또는 프로세서 코어)의 수를 자동으로 검색해 단일 프로세서 시스템에서는 SMP 기능을 사용하지 않게 됩니다.

한 컴퓨터에서 여러 개의 프로세서를 사용하는 일은 원래는 고사양 서버 시스템에서만 일어나는 일이었지만, 최근에는 멀티코어 프로세서가 도입되면서 매우 일반적인 일이 되었습니다. 이런 프로세서에는 물리적인 칩 한 개에 두 개 이상의 코어라고 부르는 프로세서 유닛이 들어 있습니다.

2.1.7. 그래픽 하드웨어 지원

데비안의 그래픽 장치 지원은 내부에 있는 X.Org의 X11 시스템과 커널이 얼마나 지원하느냐에 달려 있습니다. 데스크톱 환경은 X11을 사용하지만 기본적인 프레임버퍼 그래픽은 커널에 들어 있습니다. 3D 하드웨어 가속이나 동영상 가속 같은 기능이 있는 고급 그래픽 기능을 사용할 수 있느냐 여부는, 시스템의 실제 그래픽 하드웨어 및 필요에 따라 추가 펌웨어 이미지의 설치에 따라(2.2절. “펌웨어가 필요한 장치” 참고) 달라집니다.

거의 모든 ARM 시스템에서는 그래픽 하드웨어를 별도 카드로 연결할 필요 없이 내장되어 있습니다. 일부 시스템에서는 그래픽 카드를 연결할 수 있는 확장 슬롯이 있지만 드문 경우입니다. 헤드리스 시스템의 경우 그래픽이 아예 없는 경우도 흔합니다. 기본적인 프레임버퍼 비디오는 그래픽이 있는 모든 장치에서 동작하지만, 3D 그래픽 가속은 변함없이 바이너리 드라이버가 필요합니다. 이러한 상황은 빠르게 개선되고 있지만, buster 릴리스 시점에서 nouveau (엔비디아 테그라 K1 SoC) 및 freedreno (퀄컴 스냅드래곤 SoC) 드라이버만 릴리스에 들어 있습니다. 기타 하드웨어는 자유소프트웨어가 아닌 드라이버가 별도로 필요합니다.

지원하는 그래픽 하드웨어와 포인팅 장치에 대한 자세한 내용은 https://wiki.freedesktop.org/xorg/를 참조하십시오. 또 데비안 10는 X.Org 7.7 버전이 들어 있습니다.

2.1.8. 네트워크 연결 하드웨어

Linux 커널이 지원하는 네트워크 인터페이스 카드(NIC)는 모두 설치 시스템에서도 지원합니다. 드라이버 모듈은 일반적으로 자동으로 로드됩니다.

대부분의 내장 이더넷 장치를 지원하고 일부 PCI 및 USB 장치에 대해서는 모듈이 들어 있습니다.

2.1.9. 주변 장치 및 기타 하드웨어

Linux는 마우스, 프린터, 스캐너, PCMCIA/CardBus/ExpressCard 및 USB 장치와 같은 다양한 하드웨어에 폭넓게 대응하고 있습니다. 하지만 시스템을 설치할 때 이 장치가 필요하지는 않습니다.