2.1. 지원하는 하드웨어

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

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

2.1.1. 지원하는 아키텍처

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

아키텍처 데비안의 명칭 서브 아키텍처 기종
인텔 x86 기반 i386    
AMD64 및 인텔 64 amd64    
ARM armel Marvell Kirkwood kirkwood
Marvell Orion orion5x
Versatile versatile
ARM, 하드웨어 FPU 포함 armhf 멀티플랫폼 armmp
LPAE 가능 시스템에 대한 멀티플랫폼 armmp-lpae
64비트 ARM arm64    
MIPS (빅 엔디안) mips SGI IP22 (Indy/Indigo 2) r4k-ip22
SGI IP32 (O2) r5k-ip32
MIPS Malta (32비트) 4kc-malta
MIPS Malta (64비트) 5kc-malta
MIPS (리틀 엔디안) mipsel MIPS Malta (32비트) 4kc-malta
MIPS Malta (64비트) 5kc-malta
IBM/모토로라 PowerPC powerpc 파워맥 pmac
PReP prep
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

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

Versatile Express

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

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

armmp 커널은 Allwinner A10(아키텍쳐 코드네임 sun4i, A10s/A13 (아키텍쳐 코드네임 sun5i), A20(아키텍쳐 코드네임 sun7i) SoC 기반의 몇몇 개발 보드와 임베디드 시스템을 지원합니다. 완전한 설치 지원은 다음 sunXi 기반 시스템에서 가능합니다:

  • Cubietech Cubieboard 1 + 2 / Cubietruck

  • LeMaker Banana Pi 및 Banana Pro

  • LinkSprite pcDuino 및 pcDuino3

  • Mele A1000

  • Miniand Hackberry

  • Olimex A10-Olinuxino-LIME / A10s-Olinuxino Micro / A13-Olinuxino / A13-Olinuxino Micro / A20-Olinuxino-LIME / A20-Olinuxino-LIME2 / A20-Olinuxino Micro

  • PineRiver Mini X-Plus

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

메인라인 리눅스 커널은 Allwinner A10, A10s/A13 및 A20 SoC에 있는 시리얼 콘솔, 이더넷, SATA, USB, MMC/SD 카드를 지원합니다. 하지만 디스플레이(HDMI/VGA/LVDS)의 드라이버가 없고 오디오는 지원하지 않습니다. 일부 sunXi 기반 시스템에 들어 있는 NAND 플래시 메모리도 지원하지 않습니다.

이론상 커널의 simplefb 기능을 사용하면 디스플레이 드라이버 없이도 로컬 디스플레이를 사용할 수 있습니다. simmlefb는 U-Boot 부트로더에서 디스플레이 하드웨어 초기화가 된다고 가정하지만, 이 기능은 데비안 8의 U-Boot 버전에서는 지원하지 않습니다.

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 Quad

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

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

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

2.1.7. 그래픽 하드웨어 지원

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

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

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

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

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

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

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

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