Linux 임베디드, 원본 램디스크 파일을 컴퓨터에 다운로드하여 소스 코드를 얻을 수 있나요? SFTP를 통해 액세스합니다.
U-boot 1.2.0
Kernel command line: root=/dev/mtdblock3 mtdparts=spansion:0x20000(U-Boot)ro,0x10000(env1),0x10000(env2),0x2d0000@0xf0000(fware-FS),0x50000@0x7B0000(nvram),0x3B0000@0x40000(UBFI1),0x3B0000@0x3F0000(UBFI2)
7 cmdlinepart partitions found on MTD device spansion
partitions[0] = {.name = U-Boot, .offset = 0x00000000,.size = 0x00020000 (128K) }
partitions[1] = {.name = env1, .offset = 0x00020000,.size = 0x00010000 (64K) }
partitions[2] = {.name = env2, .offset = 0x00030000,.size = 0x00010000 (64K) }
partitions[3] = {.name = fware-FS, .offset = 0x000f0000,.size = 0x002d0000 (2880K) }
partitions[4] = {.name = nvram, .offset = 0x007b0000,.size = 0x00050000 (320K) }
partitions[5] = {.name = UBFI1, .offset = 0x00040000,.size = 0x003b0000 (3776K) }
partitions[6] = {.name = UBFI2, .offset = 0x003f0000,.size = 0x003b0000 (3776K) }
Creating 7 MTD partitions on "spansion":
0x00000000-0x00020000 : "U-Boot"
0x00020000-0x00030000 : "env1"
0x00030000-0x00040000 : "env2"
0x000f0000-0x003c0000 : "fware-FS"
0x007b0000-0x00800000 : "nvram"
0x00040000-0x003f0000 : "UBFI1"
0x003f0000-0x007a0000 : "UBFI2"
답변1
그럴 수도 있고 아닐 수도 있고.
예, 이미지(또는 시스템에서 실행 중인 모든 항목)를 다운로드할 수 있습니다. "원시" 데이터만 다운로드하면 됩니다 /dev/mtdblock*
. 대부분의 경우 다음과 같은 결과를 얻게 됩니다.스쿼시 FS이미지를 로컬로 설치하고 탐색할 수 있습니다.
아니요, (보통 쉘) 스크립트를 제외하고는 이 방법으로 소스 코드를 얻을 수 없습니다. 이렇게 얻게 될 데이터의 상당 부분은 컴파일될 것입니다(그리고 거의 확실합니다).벗겨진) 바이너리 파일.
즉, 부트스트랩이 어떻게 작동하는지 이해하고 싶다면내부에수준이면 원하는 것을 얻을 수 있습니다. 시스템이 실행 중인 소프트웨어의 소스 코드를 원한다면 운이 좋지 않습니다(물론 실제로 하드웨어와 함께 제공되어야 하는 경우는 제외). 정말로 소스 코드를 원한다면 시스템 공급업체에 문의하세요.~ 해야 하다소스 코드를 제공하십시오. 그렇지 않으면 GPL(현재 Linux boxen에서 실행되는 대부분의 소프트웨어가 사용하는 것)을 위반합니다. - 참조GPL 위반 페이지자세한 내용과 소송 목록을 알아보세요. 물론 이는 GPL(또는 이와 유사한) 라이센스 소프트웨어에만 적용됩니다. 해당 독점 소프트웨어를 원할 경우 운이 좋지 않을 수 있습니다. 물론 때로는 일부 액세스 권한을 제공하도록 설득하는 것도 가능합니다.