Floppinux - 플로피 한 장에 담긴 임베디드 리눅스 2025년판 공개

5 days ago 4

  • 단일 플로피 디스크(1.44MB) 에서 부팅 가능한 경량 리눅스 배포판 Floppinux가 2025년판(v0.3.1)으로 업데이트됨
  • 새 버전은 Linux 커널 6.14.11BusyBox 1.36.1을 기반으로 하며, 지속적 저장공간(264KB) 과 최신 하드웨어 호환성을 포함
  • Intel 486DX(33MHz) 이상 CPU와 20MB RAM 만으로 실행 가능하며, 텍스트 편집기(vi) 와 기본 파일 조작 명령어를 지원
  • 실제 하드웨어 및 에뮬레이터(qemu, Bochs, 86Box) 모두에서 동작하며, 사용자가 직접 커널과 툴체인을 빌드하도록 구성
  • 4년 전 첫 공개 이후 교육용·실험용으로 활용되어 왔으며, 이번 판은 최신 커널 유지와 학습용 튜토리얼 갱신에 중점

프로젝트 개요

  • Floppinux는 단일 플로피 디스크에서 부팅 가능한 최소 리눅스 시스템 구축을 목표로 함
    • “Linux From Scratch”와 유사한 학습용 워크숍 형태로 설계되어, 사용자가 직접 수정 및 확장 가능
  • 완성된 배포판은 텍스트 기반 터미널 환경을 제공하며, 파일 편집과 간단한 스크립트 작성 가능
  • 남은 저장공간은 264KB 로, 사용자가 생성한 파일을 플로피에 직접 저장 가능

핵심 기능 및 요구 사양

  • 단일 플로피 부팅, 최신 커널(6.14) , 32비트 x86 CPU(486DX 이상) 지원
  • 텍스트 편집기(vi) , 기본 파일 조작 명령어(cat, cp, mv, rm 등) , 간단한 스크립팅 기능 포함
  • 지속적 저장공간(persistent storage) 을 통해 플로피에 파일 저장 가능
  • 최소 하드웨어 요구사항: Intel 486DX 33MHz, 20MB RAM, 내부 플로피 드라이브

커널 구성

  • Linux 6.14.11 버전이 i486 CPU를 완전 지원하는 마지막 커널로 사용됨
  • 커널 설정은 최소 부팅 기능 중심으로 구성되어 있으며, XZ 압축 initramfs, ELF 실행 지원, FAT 파일시스템 포함
  • TTY, 블록 장치, /proc 및 sysfs 파일시스템 지원 활성화
  • 커널 빌드 결과물은 bzImage(881KiB) 로 생성

빌드 환경 및 툴체인

  • Omarchy Linux(Arch 기반 64비트 OS) 에서 빌드 진행, POSIX 호환 시스템에서도 동일 절차 적용 가능
  • i486-linux-musl-cross 크로스 컴파일러 사용으로 32비트 대상 빌드 지원
  • 에뮬레이션 환경으로 qemu 사용, Bochs는 디버깅용, 86Box는 느리지만 대안 가능

BusyBox 기반 도구 세트

  • BusyBox 1.36.1 버전 사용, GNU 유틸리티를 대체하는 경량 명령어 모음 제공
  • 선택된 주요 명령어: cat, cp, df, echo, ls, mkdir, mv, rm, sync, vi, mount, umount, clear, test
  • 정적 바이너리(static binary) 로 빌드되어 공유 라이브러리 의존성 제거
  • BusyBox 빌드 후 생성된 루트 파일시스템(rootfs.cpio.xz)은 137KiB 크기

파일시스템 및 초기화 구성

  • 최소 디렉터리 구조와 환영 메시지(welcome) , inittab, rc 초기화 스크립트 포함
    • rc 스크립트는 /proc, /sys 마운트 후 /home 디렉터리 생성 및 플로피를 /mnt 에 마운트
    • 부팅 시 환영 배너 출력 후 쉘(/bin/sh) 로 진입
  • syslinux.cfg 설정을 통해 부팅 메시지와 커널 파라미터 지정
    • APPEND root=/dev/ram rdinit=/etc/init.d/rc console=tty0 tsc=unstable

부팅 이미지 생성

  • 1.44MB 플로피 이미지(floppinux.img) 생성 후 포맷 및 부트로더(syslinux) 설치
  • 커널, 루트파일시스템, 설정파일을 이미지에 복사
  • qemu 로 부팅 테스트 후 실제 플로피에 기록 가능
  • 잘못된 드라이브 선택 시 데이터 손실 위험 경고 포함

최종 요약

  • 버전: 0.3.1 (2025년 12월)
  • 커널: 6.14.11
  • BusyBox: 1.36.1
  • 이미지 크기: 1.44MiB
  • 남은 공간: 약 253KiB
  • 지원 명령어: 파일 조작(cat, cp, mv, rm, ls, mkdir), 시스템 관리(df, sync, mount, umount), 텍스트 처리(echo, more), 편집기(vi)

의의

  • Floppinux는 리눅스 커널 구조와 부팅 과정 학습용으로 최적화된 초경량 배포판
  • 실제 하드웨어에서도 동작 가능한 완전한 리눅스 환경을 플로피 한 장에 구현
  • 교육, 복고형 시스템 실험, 임베디드 개발 입문에 유용한 예제 플랫폼으로 활용 가능

Read Entire Article