데비안은 Linux 및 kFreeBSD 커널과 GNU 툴셋을 쓰는데 필요한 것 외에는 특별한 하드웨어를 요구하지 않습니다. 그러므로 Linux 및 kFreeBSD 커널, libc, gcc등이 포팅되어 있고, 데비안 포팅이 존재하면 아키텍처나 플랫폼에서 데비안을 작동시킬 수 있습니다. 이미 데비안 GNU/리눅스에서 테스트되는 32-bit hard-float ARMv7 아키텍처 시스템의 자세한 내용은 https://www.debian.org/ports/arm/에있는 포팅 페이지를 참조하십시오.
여기서는 32-bit hard-float ARMv7 아키텍처에서 지원하는 여러가지 하드웨어를 모두 설명하지는 않고, 일반적인 정보만 설명한 다음 추가 정보가 들어 있는 웹사이트를 안내해 놓았습니다.
데비안 GNU/리눅스 12 릴리스는 9개의 주요 아키텍처와 “기종”이라는 각 아키텍처 변형을 지원합니다.
아키텍처 | 데비안의 명칭 | 서브 아키텍처 | 기종 |
---|---|---|---|
AMD64 및 인텔 64 | amd64 | ||
인텔 x86 기반 | i386 | 일반 x86 컴퓨터 | 일반 |
Xen PV 도메인 전용 | xen | ||
ARM | armel | Marvell Kirkwood and Orion | marvell |
ARM, 하드웨어 FPU 포함 | armhf | 멀티플랫폼 | armmp |
64비트 ARM | arm64 | ||
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 아키텍처에서의 설치를 다루고 있습니다. 데비안이 지원하는 다른 아키텍처에 관한 정보를 찾고있다면, 데비안 포팅 페이지를 참조하십시오.
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도 리틀 엔디안 시스템만 지원합니다.
ARM 시스템은 i386/amd64 기반 PC 아키텍쳐보다 하드웨어가 훨씬 더 다른 점이 많습니다. 그러므로 지원에 복잡한 부분이 많이 있습니다.
ARM 아키텍쳐는 “시스템온칩”(SoC, system on chip)에서 주로 사용합니다. 이 SoC는 여러 회사에서 여러가지 종류의 하드웨어를 집어넣도록 설계하고, 이 중에는 시스템이 부팅할 때 필요한 아주 기본적인 하드웨어도 있습니다. 시스템 펌웨어 인터페이스는 날이 갈수록 표준화가 되었지만, 특히 오래 된 하드웨어의 경우 펌웨어/부팅 인터페이스가 아주 많이 다릅니다. 그래서 이러한 시스템에서는 여러가지 시스템 수준의 저수준 문제를 (PC에서처럼 메인보드의 BIOS/UEFI가 처리하는 게 아니라) 리눅스 커널에서 해결해야 합니다.
리눅스 커널에서 ARM을 지원하기 시작할 때는, 이 하드웨어 다양성 문제 때문에 PC에서처럼 “만능” 커널을 쓸 수 없고 각 ARM 시스템마다 별도의 커널이 필요했습니다. 이런 방식으로는 여러 종류의 시스템에 대응할 수 없기 때문에 여러 ARM 시스템에서 동작할 수 있는 단일 ARM 커널을 사용하는 작업이 되었습니다. 최근의 ARM 시스템에서는 그러한 멀티플랫폼 커널을 사용할 수 있게 지원하지만, 오래된 시스템에서는 아직도 별도의 전용 커널이 필요합니다. 이런 이유로 표준 데비안 배포판은 지정된 몇 개의 오래된 ARM 시스템과 최근 멀티플랫폼(“armmp”라고 부르는) 커널이 지원하는 최근 시스템만 데비안/armhf에서 지원합니다.
다음 시스템이 데비안/armhf에서 멀티플랫폼(armmp) 커널로 동작한다고 알려져 있습니다:
IMX53QSB는 i.MX53 SoC를 사용하는 개발 보드입니다.
Versatile Express는 ARM에서 나온 개발 보드로, 여러가지 CPU 쪽보드를 사용하는 베이스 보드입니다.
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은 Tegra K1 (Tegra 124라고도 알려짐) 칩 기반으로 한 개발보드입니다. Tegra K1에는 쿼드코어 32비트 ARM Cortex-A15 CPU와 192개의 CUDA 코어가 탑재된 Kepler GPU가 (GK20A) 들어 있습니다. 기타 Tegra 124 기반 시스템도 동작할 수 있습니다.
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) 장치를 지원합니다.
Cubox-i 시리즈는 프리스케일 i.MX6 SoC 패밀리의 작은 큐브 모양의 시스템입니다. Cubox-i 시리즈의 시스템 지원은 메인라인 리눅스 커널에 있는 드라이버와 디바이스트리 정보에 한정되어 있습니다. Cubox-i용 프리스케일 3.0 커널 시리즈는 데비안에서 지원하지 않습니다. 메인라인 리눅스에서 사용할 수 있는 드라이버는 시리얼 콘솔, 이더넷, USB, MMC/SD 카드, HDMI를 통한 기본적인 로컬 디스플레이 (콘솔 및 HDMI) 기능입니다. 추가로 Cubox-i4Pro의 eSATA 포트를 지원합니다.
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
에서 시작한 셸에서 필요한 명령어를 실행하든지 해야 합니다.
멀티 프로세서 지원(“대칭 멀티 프로세싱” 또는 SMP라고 부르는)은 이 아키텍처에 사용할 수 있습니다. 데비안 12 표준 커널 이미지는 SMP-alternatives 지원을 사용하여 컴파일되어 있습니다. 여기서는 커널에서 프로세서(또는 프로세서 코어)의 수를 자동으로 검색해 단일 프로세서 시스템에서는 SMP 기능을 사용하지 않게 됩니다.
한 컴퓨터에서 여러 개의 프로세서를 사용하는 일은 원래는 고사양 서버 시스템에서만 일어나는 일이었지만, 최근에는 “멀티코어” 프로세서가 도입되면서 매우 일반적인 일이 되었습니다. 이런 프로세서에는 물리적인 칩 한 개에 두 개 이상의 “코어”라고 부르는 프로세서 유닛이 들어 있습니다.
데비안의 그래픽 장치 지원은 내부에 있는 X.Org의 X11 시스템과 커널이 얼마나 지원하느냐에 달려 있습니다. 데스크톱 환경은 X11을 사용하지만 기본적인 프레임버퍼 그래픽은 커널에 들어 있습니다. 3D 하드웨어 가속이나 동영상 가속 같은 기능이 있는 고급 그래픽 기능을 사용할 수 있느냐 여부는, 시스템의 실제 그래픽 하드웨어 및 필요에 따라 추가 “펌웨어” 파일의 설치에 따라(2.2절. “펌웨어가 필요한 장치” 참고) 달라집니다.
거의 모든 ARM 시스템에서는 그래픽 하드웨어를 별도 카드로 연결할 필요 없이 내장되어 있습니다. 일부 시스템에서는 그래픽 카드를 연결할 수 있는 확장 슬롯이 있지만 드문 경우입니다. 헤드리스 시스템의 경우 그래픽이 아예 없는 경우도 흔합니다. 기본적인 프레임버퍼 비디오는 그래픽이 있는 모든 장치에서 동작하지만, 3D 그래픽 가속은 변함없이 바이너리 드라이버가 필요합니다. 이러한 상황은 빠르게 개선되고 있지만, bookworm 릴리스 시점에서 nouveau (엔비디아 테그라 K1 SoC) 및 freedreno (퀄컴 스냅드래곤 SoC) 드라이버만 릴리스에 들어 있습니다. 기타 하드웨어는 서드 파티에서 만든 독점 드라이버가 별도로 필요합니다.
지원하는 그래픽 하드웨어와 포인팅 장치에 대한 자세한 내용은 https://wiki.freedesktop.org/xorg/를 참조하십시오. 또 데비안 12는 X.Org 7.7 버전이 들어 있습니다.
Linux 커널이 지원하는 네트워크 인터페이스 카드(NIC)는 모두 설치 시스템에서도 지원합니다. 드라이버 모듈은 일반적으로 자동으로 로드됩니다.
대부분의 내장 이더넷 장치를 지원하고 일부 PCI 및 USB 장치에 대해서는 모듈이 들어 있습니다.