defconfig 와 Kconfig 파일에 대해 질문이 있습니다.

guswl78681의 이미지

defconfig 와 Kconfig 파일에 대해 질문이 있습니다.
제가 이론적으로 알고 있기로는 Kconfig에 config를 해놓고 *_defconfig 파일에서
사용할 것들을 적어주는 것으로 알고 있었는데
막상 Kconfig에만 config를 해주고 *_defconfig에는 명시하지 않아도 autoconf.h에 config 되어 있더라구요

defconfig와 Kconfig에 대한 적확한 용도와 차이점이 궁금합니다.

태훈의 이미지

defconfig는 말그대로 '기본 설정(Default configure)' 입니다. 사전에 타겟 머신에 맞게 컴파일 설정을 미리 해둔 것 입니다.

Kconfig는 커널 컴파일시 설정 할 항목을 서술 한 파일입니다. 'make menuconfig'등으로 설정할 수 있는 항목들이 Kconfig에
서술된 내용들 입니다.

defconfig는 이러한 컴파일 설정을 사전에 해둔 것입니다. 예를 들어, ARM 아키텍처 versatile 보드를 사용 한다고 하면

$ make versatile_defconfig

이렇게 versatile 보드에 맞는 리눅스 커널 컴파일 기본 설정을 할 수 있습니다.

기본 설정 파일들은 'arch/(아키텍처)/configs' 디렉토리에 있습니다. (ex> x86 기본 설정 파일들, arm 기본 설정 파일들)

Just do it!

guswl78681의 이미지

답변 감사합니다 ^^
근데 한가지 궁금한게 있어서요
.config 파일이 컴파일 되면서 생성된다고 했는데
이 .config파일은 Kconfig와 defconfig 두가지 다를 참조해서 만들어지는 것 아닌가요?
근데 실제로 컴파일 해보니 그게 아닌것 같아서 질문드립니다. ㅠ
.config 파일은 무엇을 토대로 만들어지는 것인가요?

태훈의 이미지

Kconfig는 컴파일 설정에 대해 서술한 파일이라서 실제 컴파일 설정 파일(.config)을 만드는 것과는 관계 없습니다.

defconfig와 menuconfig로 커널 컴파일 설정을 하여 .config 파일을 생성합니다.

커널 컴파일 설정을 좀 더 편리하게 하려면 유사한 환경을 가진 머신의 defconfig 파일을 이용해서 defconfig를 한 뒤에, menuconfig로 세부 설정을 하시면 됩니다.

Just do it!

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.