본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
부팅 초기에 쓰는 램디스크 이미지(initrd)를 만든다.
  • 리눅스에서만 지원
  • 경로 : /sbin/mkinitrd
  • 만드는 파일 : /boot/initrd-커널버전.img (RHEL 7 이후는 /boot/initramfs-커널버전.img)

커널은 부팅 직후 루트 파일 시스템을 마운트해야 하는데, 그 디스크가 RAID·LVM·SCSI 컨트롤러 위에 있으면 해당 드라이버(커널 모듈)가 먼저 있어야 한다. 그래서 부트로더가 커널과 함께 임시 루트 파일 시스템(initrd, initial RAM disk)을 메모리에 올리고, 커널은 그 안의 모듈을 적재해 실제 루트 파일 시스템을 마운트한다. mkinitrd 는 이 이미지를 만드는 명령이다.

RHEL 6 부터 실제 작업은 dracut 이 맡고 mkinitrd 는 dracut 을 부르는 호환 스크립트가 되었다. RHEL 7·Rocky Linux 8 이후에는 dracut 을 직접 쓴다. 우분투는 update-initramfs 를 쓴다.

mkinitrd [옵션] 이미지파일 커널버전
dracut [옵션] [이미지파일] [커널버전]
  • -f : 같은 이름의 이미지가 있어도 덮어쓴다.
  • --with=모듈 : 지정한 모듈을 이미지에 넣는다.
  • -v : 진행 과정을 자세히 출력한다.
# mkinitrd -f /boot/initrd-$(uname -r).img $(uname -r)
# dracut -f /boot/initramfs-$(uname -r).img $(uname -r)
  • 새 커널을 컴파일해 설치했거나 디스크 드라이버를 바꿨을 때 다시 만든다 → 리눅스 커널 컴파일

비슷한 명령과 구분

편집 원본 편집
명령 하는 일
mkinitrd 부팅용 초기 램디스크 이미지를 만든다
depmod 모듈 사이의 의존성을 검사해 modules.dep 와 맵 파일을 만든다
modprobe modules.dep 를 보고 의존 모듈까지 함께 커널에 적재·제거한다
insmod, rmmod 모듈 하나를 의존성 고려 없이 적재·제거한다
mkfs 파티션에 파일 시스템을 만든다. 모듈과 관계없다