리눅스에서 부팅방법을 동적으로 바꿀 수 있을까요?

honeamis의 이미지

예를 들면 부팅시 키보드가 포트에서 detect 되는 경우와 undetect 되는 경우에 부팅시의 설정과 초기실행 프로그램등을 다르게 하려면 어떻게 할 수 있을까요.

구글을 뒤져봐도 부팅의 원론적(?)인 얘기들만 나와서 완전초보인 저로서는 이해하기가 너무 힘듭니다.

익명 사용자의 이미지

장치관련해서 동적로딩을 하시고 싶으시다면 커널 컴파일시에 주변장치들을 모듈로 처리할 필요가 있습니다. 사용하시는 배포판에 따라서 따로 스크립을 만져주셔야 할지도 모르지만 일단 커널 컴파일시에 장치들을 모듈로 컴파일하면 knoppix나 gentoo계열에서는 알아서 로딩했던 것으로 기억합니다.
knoppix같은 경우엔 처음부터 그렇게 되어있으니 크노픽스로 옮겨가시고 데비안처럼 사용하시면 될 듯합니다.

sio4의 이미지

honeamis wrote:
예를 들면 부팅시 키보드가 포트에서 detect 되는 경우와 undetect 되는 경우에 부팅시의 설정과 초기실행 프로그램등을 다르게 하려면 어떻게 할 수 있을까요.

구글을 뒤져봐도 부팅의 원론적(?)인 얘기들만 나와서 완전초보인 저로서는 이해하기가 너무 힘듭니다.

장치 검색을 위한 별도의 도구를 사용하지 않는 경우, 쉽게 접근할 수 있는 방법으로는 부팅 직후의 dmesg 명령, 또는 이것을 저장한 /var/log/dmesg 파일을 활용하는 방법, /proc 아래의 파일들을 이용하는 방법 등이 있겠습니다.

예를 들어, 제 경우 특별한 목적으로 사용되는 장비를 디버깅 모드로 부팅시키기 위해서 다음의 내용을 시작 과정의 적당한 위치에 삽입하기도 합니다.

DEBUG=0
cat /proc/bus/usb/devices | grep -qi mouse && DEBUG=1
export DEBUG

이 세 줄은 이 것이 실행되는 순간에 usb 마우스가 연결되어 있다면 DEBUG 환경변수를 1이라는 값으로 설정하여 export 하게 됩니다.

이후에 실행되는 프로그램은 이 환경의 영향을 받으므로 내부적으로 DEBUG라는 환경변수를 확인하여 원하는 추가/변경된 작업을 할 수 있습니다.

이용하기에 적당한 파일은 쉽게 떠올리기에

/proc/iomem
/proc/ioports
/proc/pci

등을 들 수 있겠습니다.

--
"The love you take is equal to the love you make." The End, by Beatles

honeamis의 이미지

감사합니다. 좀더 공부를 해야겠다는 생각이 드네요.

민법 제 2 조 제 2 항 - 권리는 남용하지 못한다.

댓글 달기

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