TCCBOOT

소프트웨어 스크린 샷:
TCCBOOT
소프트웨어 정보:
버전: 0.1
업로드 날짜: 3 Jun 15
개발자: Fabrice Bellard
라이센스: 셰어웨어
가격: 0.00 $
인기: 58

Rating: 1.0/5 (Total Votes: 1)

TCCBOOT 프로젝트는 소스 코드에서 직접 리눅스 커널을 컴파일하고 부팅 할 수있는 부트 로더입니다.
TCCBOOT는 138킬로바이트 큰 (압축되지 않은 코드)이며 컴파일 및 2.4 GHz의 펜티엄 4에 15 초 미만의 일반적인 리눅스 커널을 실행할 수 있습니다.
TCCBOOT는 TinyCC 컴파일러, 어셈블러와 링커를 기반으로합니다. TinyCC는 GNU C 컴파일러와 바이너리 유틸리티와 호환 매우 작고 간단한 C 컴파일러를 생산하는 실험이다.
TCCBOOT 부츠 TCCBOOT을 실행할 수있는 'bzImage 행'리눅스 커널 이미지를 실행할 수있는 리눅스 커널과 같은 방식으로, 그래서 어떤 부트 로더. 난 단지 ISOLINUX로 테스트하지만, LILO 혹은 GRUB도 작동합니다.
TCCBOOT는 초기 RAM 디스크 (initrd를)에 저장된 gzip으로 압축 된 ROMFS 파일 시스템에서 C 또는 어셈블리 소스를 읽습니다. 먼저 TinyCC 명령 행 (TCC 실행 파일과 동일한 구문을)가 포함 된 파일 '부팅 / tccargs'를 읽습니다. TinyCC 호출해야 출력 한 바이너리 이미지 '커널'. 이 이미지는 주소 0x00100000라는에로드됩니다. TCCBOOT는 32 비트 플랫 모드에서 주소 0x00100000라는에 점프를한다. 이것은 '의 vmlinux'커널 이미지의 ABI와 호환된다.
편집 :
TCCBOOT은 리눅스 2.4.26에서 테스트되었다. 단순 TCCBOOT의 리눅스 커널에서 일부 바이너리 파일과 헤더를 사용하기 때문에 TCCBOOT를 구축하려면 먼저 2.4.26 커널을 컴파일해야합니다. TCCBOOT도 (TinyCC 버전 0.9.21 테스트) TinyCC의 소스 코드를 필요로한다. 당신은 필요한 경로를 제공하기 위해 Makefile을 수정할 수 있습니다.
예 :
"안녕하세요"ROMFS 파티션이 포함되어 있습니다 (initrd.img 등). 당신은 예 / 디렉토리를 재 구축 할 수 있습니다. 당신은 'QEMU - tccboot'스크립트와 QEMU의 PC 에뮬레이터로 테스트 할 수 있습니다.
커널 컴파일 :
참고로, 패치 '리눅스 2.4.26-tcc.patch은'TCCBOOT와 리눅스 커널 구축하는 데 필요한 수정 사항을 제공합니다 (참고 : 그것은 자신의 메이크으로 커널을 빌드하는 suffisant되지 않습니다 - 나는 시도하지 않음). 해당 커널 설정 파일 리눅스 2.4.26-설정입니다. 패치는 다음과 같은 이유 때문에 필요하다 :
- 지원되지 않는 조립 지침 : .rept, .endr, .subsection
- 어셈블리 소스에 필요한 '의 #define __ASSEMBLY__'
- 정적 변수 인라인 어셈블리 코드에서 알 수없는
- '와 입력 / 좌변 문제? : '
- 아니 오래 오래 비트 필드
- '정렬'만 필드, 전체 구조체에 대해 지원되지 속성
- obscur 처리기 버그
이러한 문제 중 일부는 쉽게 해결 될 수 있지만 지금은 너무 게으른입니다. 그것은 TinyCC / TCCBOOT에 의해 생성 된 커널에 많은 버그가 여전히 있다는 것을 확신하지만, 적어도 쉘을 부팅하고 실행할 수 있습니다.

스크린 샷

tccboot_1_144840.png

유사한 소프트웨어

개발자의 기타 소프트웨어 Fabrice Bellard

코멘트 TCCBOOT

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!