Nidev's Tumblr

RSS

SD카드를 reiserfs로 포맷해서 피 본 사연

  결국 밀었다.

  라이브usb로 부팅해서 기존 시스템을 tar -cvpf 로 복사한 다음에 mkfs.ext2로 해서 ext2로 포맷한 다음에 다시 tar -xvpf로 풀어냈다. 다시 말해, 파일시스템을 교체했다.

  뭐 기타 작업은 fstab갱신, mkinitcpio 재설정 및 이미지 리빌드이다. 이 x신같은 아치리눅스는 메모리도 남아도는 이 시대에 init ramdisk이미지에 내가 과거에 쓰던 fs인 reiserfs모듈 달랑 하나 파일시스템용으로 탑재해두었다. fs타입을 바꾸게 되면 다른 파일시스템 모듈이 없어서 부팅을 할 수 없게된다. -_- 엿 먹어.

  해결책으로 라이브usb에서 chroot로 진입해서 새 fs에 따른 모듈을 mkinitcpio.conf에 적어주고 빌드하는 방법이다.(ex. ext2 ext3 ext4 jfs btrfs 등등) 이왕 적는 김에 몽땅 다 적었다. 아무튼 부팅은 했고, 이제 아주 잘 돌아간다.

  아무튼 이번에 HD영상 감상용으로 만든, SD카드 위에 설치된 리눅스인 x264HD(가칭) 은 아치리눅스를 쓰고 있다. 이걸로 영상 감상 뿐만 아니라 트위터나 웹서핑, 파일시스템 관리 등 다양한 작업을 하기에 fs 성능을 생각하고 파일시스템을 골랐는데, 그때 눈에 들어온 게 reiserfs였다. 물론 이게 메모리카드에 적합하지 않다는 걸 알고 있었다. 근데 그 당시 btrfs로 설정했다가 grub-legacy가 지원을 못해서 부팅못한 게 생각나 홧김에 reiserfs를 골라버린 것이었다. (그 전 버전에선 ext4를 사용했으나, 수시로 I/O에러가 터지는 바람에 포기했다.)

  설치 후 두번째 부팅에서 이상하게 부팅이 느렸다. 나중에 라이브usb로 fsck돌려보니 X서버 테스트 하다가 뻗어서 그냥 꺼버렸는데 그게 미처 처리되지 않은 저널 transaction에 쌓인 모양. 다시 속도는 정상적으로 돌아왔지만, 어플리케이션 구동, 특히나 SD카드에 I/O가 직접적으로 필요한 작업에서 수시로 화면이 얼어붙곤 했다.(마우스도 전혀 움직이지 않다가 갑자기 움직이고)

  영상 감상에 지장은 없어서 냅뒀는데, 오늘은 리눅스 시스템 전체가 완전히 멈춰버려서… 어쩔 수 없이 sysrq키로 종료하고 나와서 fsck돌렸는데 아니나 다를까…. 언젠가 충전기 없이 쓰다가 리눅스가 그냥 꺼져버려서(잘 모르겠는데 아무튼 그렇게 되었음) 저널 transaction이 완료되어있지 않은게 쌓였던 것이었다. (…)

  SD카드 수명은 둘째치고 더이상 사용할 수 없다고 결정한 나는 싹 백업하고 ext2로 포맷한 다음에 다시 되돌려놓았다.

  알면서도 이 짓을 했던 게 참 어리석었다고 생각한다.