디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

Dingux 리눅스앱에서 작성

발명도둑잡기(118.216) 2025.12.04 19:55:33
조회 53 추천 0 댓글 0
														

챗지피티

아래는 Dingux(딩각스)—중국 휴대용 레트로기기(예: Dingoo A320/A330, OpenDingux 기반 RG350 등)에서 쓰이는 임베디드 리눅스 배포판—의 내부 구조를 가장 기술적으로 정확하게 정리한 것입니다.

---

Dingux / OpenDingux Linux 전체 구조(아키텍처)

1) 기본 개념

Dingux는 임베디드 SoC(MIPS32, ARM 등) 위에서 동작하는 경량 리눅스 배포판

BusyBox, uClibc 또는 musl 기반의 최소 시스템

그래픽은 X11 없음, SDL 또는 DirectFB 계열 렌더링

정상적인 패키지 매니저 없음(opkg/apt 없음), rootfs 이미지 + home 파티션 구조

---

2) 부트 과정(Boot flow)

① Boot ROM

SoC 내부 ROM이 NAND/SD에서 1차 부트로더 로드

② 1차 부트로더

제조사 제공(주로 Ingenic CPU이면 X-Boot)

NAND/SD에서 커스텀 2차 부트로더를 읽어옴

③ 2차 부트로더: u-boot

커널 이미지(uImage, zImage) 로드

커맨드라인 전달 (mem=, mtdparts=, root=/dev/... 등)

커널 파라미터: LCD 정보, 키 입력, 파일시스템 위치 등

④ Linux Kernel 부팅

OpenDingux (최신 Dingux)의 경우:

Linux 3.x → 4.x 이후로 업데이트된 Fork

Ingenic JZ47xx, JZ4760, JZ4770 패치 포함

커널 드라이버:

LCD/Framebuffer

ALSA 오디오

GPIO 키 입력

NAND/SD/MMC

USB gadget/host

Battery ADC

⑤ Root filesystem(rootfs) 마운트

squashfs 또는 cramfs (읽기 전용)

overlay로 ext4 또는 fat32의 “/media/data”(home) 병합

---

3) 파일시스템 구조

/
├── bin/        (BusyBox 등)
├── etc/
├── lib/
├── usr/
├── home/       ← user apps, 에뮬레이터
└── media/
      └── data/ ← 실제 writable 공간

특징:

rootfs 읽기 전용, 유지보수 안정성↑

사용자 앱은 /media/data/apps/ 같은 디렉터리에서 실행

config는 /home/.config/ 혹은 /media/data/local/home/에 저장

---

4) 그래픽 시스템 구조

Dingux는 프레임버퍼 기반 임베디드 그래픽이다.

① Framebuffer (fbdev)

/dev/fb0로 노출

모든 앱은 기본적으로 fb0에 직접 blit

② SDL 1.2 / SDL2

Dingux 그래픽의 핵심:

SDL 1.2 기반 포팅이 매우 많음

SDL2는 OpenDingux 신버전에서 지원

OpenGL 없음(일부 기기만 TinyGL 사용)

③ OpenDingux 추가 그래픽 계층

SimpleMenu, GMenu2X 등의 런처

VSync, double buffering 최적화 패치 존재

---

5) 음향 구조

ALSA (Advanced Linux Sound Architecture)

대부분 SoC는 독자적인 DAC/Codec

ALSA mixer로 볼륨 조절

SDL_mixer(레트로 게임용)과 많이 연결됨

---

6) 입력 시스템(Input system)

① Linux input subsystem

/dev/input/event0 등으로 표준화

방향키/버튼은 GPIO + keymap 드라이버

② 에뮬레이터

SDL 키 입력 매핑

OpenDingux에서는 각 앱마다 input.conf 또는 SDL keymap을 따로 제공

---

7) 애플리케이션 구조

기본 실행 모델

Dingux 앱은 독립된 단일 ELF 실행 파일

정적 링크된 경우 많음 (musl/uClibc static)

에뮬레이터는 대부분 SDL 기반

주요 형태

SDL 에뮬레이터(NES, SNES, GBA, PS1)

RetroArch 포팅

SimpleMenu / GMenu2X 런처

프로세스 관리

systemd 없음

init 스크립트로 간단한 rc 방식

---

8) 패키징 방식

Dingux는 일반적인 패키지 시스템이 없고:

앱 = 폴더 통째로 복사

실행파일 + 리소스 + config 포함

메뉴는 .desktop 파일로 등록 (GMenu2X)

예:

/media/data/apps/SNES/
    snes9x
    snes9x.opk
    icon.png
    config/

---

9) Dingux(OpenDingux) 커널/시스템 구성 요약

구성 요소 설명

Bootloader u-boot
Kernel Linux 2.6.x → 3.x → 최신 4.x Fork
C 라이브러리 uClibc → musl
Shell BusyBox
Filesystem squashfs + ext4 overlay
Graphics fbdev + SDL1/SDL2
Audio ALSA
Input Linux input subsystem
Window manager 없음 (런처만 존재)

---

10) 전체 구조 다이어그램

┌──────────────────┐
         │     Boot ROM     │
         └────────┬─────────┘
                  ▼
      ┌──────────────────────┐
      │   1st Bootloader     │
      └────────┬────────────┘
               ▼
      ┌──────────────────────┐
      │       u-boot         │
      └────────┬────────────┘
               ▼
      ┌──────────────────────┐
      │    Linux Kernel      │
      │ fbdev / ALSA / GPIO  │
      └────────┬────────────┘
               ▼
     ┌─────────────────────────┐
     │       rootfs (RO)       │
     ├─────────────────────────┤
     │     data/home (RW)      │
     └────────┬────────────────┘
              ▼
     ┌─────────────────────────┐
     │    Launcher(GMenu2X)    │
     ├─────────────────────────┤
     │   Apps / Emulators      │
     │    (SDL, RetroArch)     │
     └─────────────────────────┘

---

필요하면 추가 설명 가능

Dingux 소스 트리 구조 분석

Ingenic JZ47xx SoC 내부 구조

SDL vs DirectFB vs fbdev 성능 비교

Dingux에서 직접 에뮬레이터 포팅하는 법(툴체인)

원하시는 부분 있나요?

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이제는 의미 없어진 것 같은 시상식은? 운영자 25/12/01 - -
AD 루틴 ON! 운동 찐템! 지금 할인 중 운영자 25/11/27 - -
공지 프로그래밍 갤러리 이용 안내 [97] 운영자 20.09.28 48836 65
2906689 '19' 틱톡녀 합방 레전드 수위.gif 프갤러(219.248) 03:15 1 0
2906685 otp 4년만에 복구 완료 넥도리아(220.74) 02:59 7 0
2906684 넥도리아 이분 무섭네요 [5] ㅇㅇ(118.235) 02:46 25 0
2906683 국민의힘도 타당하면 동의해줄 것이다. 윤카 제외하고, 넥도리아(220.74) 02:23 13 0
2906682 나의 물귀신 작전은 국민의힘 이 반대의 입장에서 말하는거라서, 넥도리아(220.74) 02:21 11 0
2906681 아이큐 테스트 문제 풀어줄사람 [1] RAIN갤로그로 이동합니다. 02:20 13 0
2906680 I nan, Administrator 감시자 넥도리아(220.74) 02:18 12 0
2906679 윈도우 계정 이름 Administrator 관리자 넥도리아(220.74) 02:17 11 0
2906678 달동네? ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 01:50 16 0
2906677 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 01:46 12 0
2906676 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 01:45 14 0
2906671 이거 왜 오류나요?ㅠ [3] ㅇㅇ(118.235) 01:29 25 0
2906667 121.139 중국인이 대한민국 국민 사살해도, 아무 말 못할 사람이다T [7] 넥도리아(220.74) 01:03 45 0
2906666 121.139 국제 정세 못 읽는 사람이다. 관심주지 마라. 관심법 넥도리아(220.74) 01:00 16 0
2906665 인신매매 정부 니들 매매랑 판매랑 뜻 아냐 중국정부? 마이크 사갖테스트 넥도리아(220.74) 00:58 14 0
2906663 일본과 중국 지지 안하지만, 솔직히 먼저 선전포고한놈이 잘못 한거 아닌가 [6] 넥도리아(220.74) 00:44 40 0
2906662 넥도리아 중일 전쟁 타이완 해협이 어딘지 알았습니다. [7] 넥도리아(220.74) 00:30 33 0
2906661 it 업계 남자와 여자의 차이 프갤러(121.139) 00:27 40 1
2906655 히야.. 이뇬 이거.. [4] ♥발라당냥덩♥갤로그로 이동합니다. 12.05 77 0
2906654 슬롯머신 사이트 추천 디시 ㅇㅇ(59.2) 12.05 20 0
2906652 레고로 종이 한장 빨아올리는거 만들수 있나 발명도둑잡기(118.216) 12.05 28 0
2906650 음기 충전 발명도둑잡기(118.216) 12.05 27 0
2906648 앱 하나 만들어봤는데 [1] 프갤러(165.132) 12.05 35 0
2906644 클라우드플레어 장애 원인: 오피셜 [1] 나르시갤로그로 이동합니다. 12.05 70 1
2906642 러스트와 자바 서버 프로그래밍 비교 나르시갤로그로 이동합니다. 12.05 28 0
2906639 이번 클라우드플레어 장애 원인 나르시갤로그로 이동합니다. 12.05 41 0
2906638 한우 먹는중 프갤러(121.139) 12.05 23 0
2906637 ■개발자말고 아버지소개로 트럭정비사하는게낫냐 [1] ㅇㅇ갤로그로 이동합니다. 12.05 52 0
2906636 클플 장애 뭐였음? ㅇㅅㅇ [1] ㅇㅇ(112.157) 12.05 33 0
2906633 티켓 프로그램 개발자 구합니다 ㅇㅇ(121.181) 12.05 46 0
2906629 센척하지만 나도 러스트 좁밥이다. [6] 프갤러(110.8) 12.05 65 0
2906628 c++로 1인개발 거의 안함? [16] 프갤러(175.197) 12.05 162 0
2906626 클라우드 플레어 이 새끼들 riir하다 터트린거 같은데 [1] 프갤러(221.149) 12.05 72 1
2906624 gitlab 먹통이네, ㅅㅂ [1] 프갤러(125.177) 12.05 53 0
2906623 클라우드플레어 또 터진건가요?? [12] 정신나간정상인갤로그로 이동합니다. 12.05 108 0
2906622 눈빛 좀 봐.. [1] ♥발라당냥덩♥갤로그로 이동합니다. 12.05 59 0
2906621 ai특징이 우덜들 절대 기계로 대체않함 ㅋㅋㅋ기상캐스터 등등 타이밍뒷.통수한방(1.213) 12.05 45 0
2906620 진지하게 언어 뭐로 정할까. 도와주셈 [10] 프갤러(175.197) 12.05 117 0
2906619 유재석 나락감?? 타이밍뒷.통수한방(1.213) 12.05 48 0
2906617 카드값 눈물난다 [2] ㅇㅇ(119.56) 12.05 48 0
2906616 크롬 localhost 접속문제 해결 가능하신분 [4] ㅇㅇ(221.158) 12.05 84 3
2906615 쿠팡 보이콧으로 네이버 쇼핑쓰는데 진짜 개느리구나 [5] 헬마스터갤로그로 이동합니다. 12.05 66 0
2906614 일본거주 11년차 외노자 일어 써봤습니다 [3] 프로외노자갤로그로 이동합니다. 12.05 69 0
2906613 37세 백엔드!! [4] 홍길동갤로그로 이동합니다. 12.05 75 0
2906612 저번달까지 현직자였는데 ai가 대체 못하는거 맞다. 프갤러(221.149) 12.05 94 0
2906611 아니 그록 뭐임 ㅋㅋ 프갤러(115.138) 12.05 69 0
2906610 속보 ) 2026년 윈도우12 출시예정-> 출시취소 타이밍뒷.통수한방(1.213) 12.05 43 0
2906609 쿠팡 해지함 (쿠팡이 망해야 한국경제가 산다) [4] 야옹아저씨갤로그로 이동합니다. 12.05 64 2
2906608 나이먹는거보다 저주인것 타이밍뒷.통수한방(1.213) 12.05 33 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2