리눅스 커널 포팅 관련 질문

ju200413의 이미지

안녕하세요, 1년차 프로그래머입니다.

요번에 회사에서 stb에 올릴 커널 빌드 및 이미지를 생성 하는 업무를 맡게 되었는데요,
회사에서 원래 진행하던 업무가 아닌 저 혼자 고객사 쪽에서 툴만 받아 진행을 해야하는 상황입니다.
일단 고객사 측에서 빌드한 커널 소스, 툴체인, rootfs(?)라 불리는 뭔가를 전달해주긴 한 상태이고,
어찌저찌 진행을 하다보니 커널 빌드 후 output으로 vmlinuz-inird-(modelname) 형태의 바이너리가 하나 나온 상태입니다.
(빌드 할 때 buildroot(?)와 비슷한 컨픽창이 하나 뜨더군요.. 이 부분도 아는바가 없어 칩셋 모델명으로 지정하여 default 컨픽으로 빌드 하였습니다)
문제는 이걸 어떻게 디바이스에 올리느냐인데,
위 빌드 툴과 별개로 다른 개발회사에서 제작한것으로 보이는 이미지 툴이란 것도 받았는데 이건
rootfs이미지들과 커널관련 압축파일, 그외 기본탑재앱을 읽어 이미지 화 하는것으로 보입니다.
(스크립트를 보면 codesigno라는 바이너리를 실행시키는데, 요건 구글에 잠깐 검색해봐도 눈에 띄는 결과가 없더라구요..)
어쨌거나 '이걸 어떻게 올리나요?' 하고 방법을 여쭤보려 하는건 아니구요...

제목은.. 커널 포팅에 관련된 내용인지는 확실하게 모르지만.. 포팅 관련 내용인 것 같아 지었고,
일단 제가 아는게 없어서 여태까지 보고 한것들을 다 적어드렸는데..
이러한 업무를 진행하는데에 있어서 도움이 될만한 자료가 있는지 여쭤보고 싶습니다.
일단... vmlinuz가 뭔지... initrd는 뭔지... 저는 이런 기본적인(?) 지식들이 전무한 상태입니다.
구글의 도움으로 vmlinuz 가 부팅시에 메모리에 올릴 바이너리...?라는건 알게 되었는데
이게 어떤식으로 부팅할 때 올라가게 되는지 감이 안오더군요..
최소한 커널 빌드결과가 어떤 식으로 이미지화 되고, 디바이스에선 보통 이 이미지를 어떻게 적용하고 사용하는지 정도..
라도 알고 싶습니다.

질문이 많이 정리가 안되고 성의없어 보이지만...
자료, 검색할 키워드, 관련 서적,... 뭐든 상관 없습니다.
아무것도 모르는 뉴비를 도와주실 고수분들의 손길이 절실합니다 ㅠㅠ

감사합니다.

세벌의 이미지

https://en.wikipedia.org/wiki/Cross_compiler 읽어보시면 도움이 될 거 같네요.

ju200413의 이미지

먼저 답변 감사드립니다!

저는 커널 빌드한 결과는 vmlinuz라는 형태로 나오게 된 것 같은데, 이 후 디바이스에 이걸 어떻게 적용시키고
어떤식으로 돌아가게 되는건지가 궁금했습니다.
이전에 디바이스용 앱을 빌드(크로스 컴파일)하고 올리는 작업 (디바이스에 시리얼 포트로 붙어 커맨드 라인에서 실행하는...)은 해보면서
크로스 컴파일은 어느정도 이해가 되었다고 생각하는데요,
디바이스용 커널 빌드 하는 과정에서 크로스 컴파일이 필요한 것은 알고 있습니다. (그래야 디바이스에서 돌아갈 수 있는 바이너리가 나오는 것..이지요?)
그런데 그 이후의 제가 위에서 궁금하다고 말씀드린 과정에서 중요하게 볼만한 포인트가 있는건가요?