Bootloader 에서, kernel image를 이름으로 검색할 수 있는지요.

cococo의 이미지

안녕하십니까. 주말 잘 보내고 계신지요. 제목 그대로의 질문입니다.

아래는 스토리....

다른 사람이 [CF카드에 있는 Kernel image를 다운로드해서 업데이트할 수 있냐] 고 물어봐서,

[부트 로더가 복사를 시작하는 CF의 메모리 번지를 알려면, 부트로더를 뜯어봐야 하기 때문에, 단순히 커널 이미지만 다운로드해서는 알 수 없을 겁니다.]
라고 대답했습니다.
그런데.... 그 사람이, 될거라고 해서, 이런저런 실갱이를 하다가, 직접 해봤죠.

CF카드 데이터를 모두 지운 다음 재부팅 해서, 1M미안의 자잘한 파일들로 CF카드를 다 채우고, 그다음 Ramdisk랑 Kernel의 복사에 필요한 공간만 확보(기존 파일을 지워서) 했습니다.

다음....HDD에 복사해놨던 kernel이랑 Ramdisk 이미지를 CF에 복사하고
타겟 보드에 꼽았더니....

웬걸.
부팅 잘되네요.
이런 황당한.... -_-;

부트로더는, 저장장치에서 커널 이미지를 복사해 메모리로 올릴 때, 필요한 데이터가 저장되어 있는 주소를 알고 있는 것이 아닌가요?
그냥 파일 이름으로 복사하는 건가요?
Kernel이 실행되기 전에는 파일시스템도 없을 테니, 커널 이미지를 이름으로 찾는 것은 불가능하지 않습니까? 어떻게 되는 걸까요?

참고로, Bootloader는 busybox구요. 커널은 2.6 버전입니다.

이 우매한 자에게 깨달음을 주실 고수님들의 답변을 기달리겠습니다... -_-;

Prentice의 이미지

lilo의 경우에는 안되지만 grub의 경우에는 됩니다.

부트로더에서 간단한 파일 읽기 기능을 지원할 경우에는 된다고 봐도 되겠죠..

훌륭한녀석의 이미지

타겟보드를 말씀하시는걸 보니 x86계열은 아닌듯 싶습니다. ARM이나 MIPS 계열쪽으로 말씀드리자면(위에서 x86은 이미 말씀하셨으니까요)..

우선 Busybox는 부트로더가 아닙니다. busybox는 루트파일 시스템을 만들 경우 시스템에서 자주 사용되는 실행파일들(예를들면, ls insmod rmmod 등등등 설정하기 나름입니다)을 통합해서 사용되어지는 프로그램입니다.

http://www.busybox.net/about.html

부트로더가 파일시스템을 모른다는것도 아닙니다. FAT,ext, ISO9660 등의 파일시스템을 지원하는 부트로더들도 많이 있습니다. 간단히 uboot가 그렇습니다.

http://u-boot.sourceforge.net/

요즘엔 usb keyboard, mouse, usb host, UMS 등등을 지원하기도 하더군요.

결론은 파일이름으로 커널을 로드할 수 있다! 가 정답입니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.