ubuntu 는 커널 컴파일 & 인스톨 방법이 다른가요?

chocokeki의 이미지

virtual box와 i7 최신 노트북 windows8 환경에서 운용중입니다(uefi 환경일듯 합니다)

rhel 계열 os를 사용하다가 ubuntu로 넘어와봤는데 생각보다 많이 어려움을 겪는 중입니다
14.04 LTS 를 설치하고 3.18 커널을 다운로드 받아 컴파일 하고
make install
make modules_install INSTALL_MOD_STRIP=1
reboot 하였는데...웬걸..........
맙소사...부팅이 안됩니다

Gave up waiting for root device. Common problems:
-Boot args (cat /proc/cmdline)
-Check rootdelay= (did the system wait long enough?)
-Check root= (did the system wait for the right device?)
-Missing modules (cat /proc/modules; ls /dev)
/dev/disk/by-uuid/... does not exist ...

이런식으로 뜨길래 uuid가 틀렸나보네?하는 생각이 들었습니다
일단 grub에서 원래 커널 이미지로 부팅하여 uuid를 확인해봤으나 맞습니다
뭔가 uuid 파싱에 문제가 있나 싶어서 grub.cfg를 직접 수정해서 root=by-uuid 로 되어있는걸 root=LABEL=/ 로 바꾸었습니다
do not edit라고 써있었는데 grub2 사용법을 아직 잘 몰라 그냥 강제 에디트 했습니다
(제가 이미지가 있는쪽 파티션 LABEL을 /로 주었습니다)

그리고 리부팅을 해보았는데 이제는
/dev/disk/by-label/\x2f does not exist 라고 나오네요

fstab 의 uuid 파싱이 문제인가 싶어 기존 커널로 부팅한 다음 fstab을 LABEL로 교체 하였는데 여전히 부팅이 되지 않습니다
기존 커널은 잘 되구요...
make install 할 때 kernel의 makefile이 ubuntu 환경에서 제대로 안되고 또 뭔가를 해줘야 하나봅니다

제가 http://www.dedoimedo.com/computers/ubuntu-initrd-bug.html 이 상황을 겪고 있습니다
그런데 이 링크에 있는 솔루션은 좀 변칙적인 솔루션이네요...되는거로 복사해라........

어떻게 해야 될까요

Necromancer의 이미지

커널 파라미터에 루트 디바이스를 정확하게 지정하지 않을 때 나는 오류네요.
커널이 초기화 완료된 뒤에 루트 파일시스템을 찾는데 /etc/fstab 같은거 읽을 수 없으니 파라미터에 루트디바이스로 적힌 파티션을 직접 마운트하는데 이게 실패해서 나는겁니다. 직접 빌드하시는거면 root device를 라벨이나 UUID로 하지말고 /dev/sdXX 식으로 적으세요. initramfs 같은 임시 램디스크는 만들 필요 없습니다.

근데 루트 파일시스템이 S/W RAID나 LVM상의 파티션에 위치한건 아니겠죠?
이런경우는 초보자라면 피하심이. 부팅 가능하게 할 수 있지만 작업이 만만치 않습니다.

Written By the Black Knight of Destruction

chocokeki의 이미지

자문자답을 해보자면 최근 커널에서는 방법이 조금 바뀐거 같습니다
예전 2.6 kernel 에서는 안그랬는데 3.x 부터는 make modules_install 한 다음 make install을 해야 정상적으로 되는거 같습니다
cent os에서도 install 한 후에 modules_install 하면 오류 메세지가 뜨네요

boot 디렉토리에서 3.18.x 파일 다 지운다음
grub-mkconfig -o /boot/grub/grub.cfg 해서 다시 환경설정 초기화 하고
make modules_install 한 다음 make install 하고 리부팅 해서 3.18로 부팅 성공했습니다

버그겠죠..?
정상적으로 커널 파라미터에 있는 인자가 파싱 안되는거 같습니다 /dev/sda1도 안먹히더라구요

댓글 달기

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