nas4dual에 chroot 설치하기

chroot를 설치하는 방법입니다.

 

chroot의 의미는 wikipedia에 아래와 같이 설명되어 있습니다.

유닉스 운영 체제에서 chroot는 현재 실행 중인 프로세스와 차일드 프로세스 그룹에서 루트 디렉터리를 변경하는 작업이다.

이렇게 수정된 환경에서 실행되는 프로그램은 지정된 디렉터리 트리 밖의 파일들의 이름을 지정할 수 없으므로(즉, 일반적으로는 접근이 불가능하므로) chroot 감옥으로 부른다.

나스 같은 환경에서는 특정 디렉토리에 리눅스(주로 데비안) 시스템 파일을 올려두고 그 디렉토리를 루트 디렉토리로 변경하여 기본 환경에 없는 각종 프로그램을 이용하는 목적으로 많이 사용합니다.

아래는  Arm 프로세서를 사용하는 라우트(RT-AC56U, RT-AC68U, RT-AC87U, RT-AC88U, RT-AC3200, RT-AC5300…)용으로 chroot를 설치하는 방법을 nas4dual에 맞게 수정한 것입니다.

원본은 아래 링크에서 확인할 수 있습니다.

https://www.hqt.ro/how-to-install-debian-jessie-arm/

 

준비 작업

아래 링크를 참고하여 entware를 설치합니다.

http://isulnara.com/wp/archives/1307

자 이제 설치에 들어갑니다.

 

아래 명령 또는 텍스터 에디터로

 

아래와 같은 내용으로 /opt/etc/init.d/S99debian 파일을 생성합니다.

위 내용 중 EXT_DIR=/mnt/HDD1/@chroot/media/는 자신의 환경에 맞게 수정합니다.

 

root 권한이 필요한 부분이 있어서 아래 명령으로 root 사용자로 전환하고, 아래 명령들을 내립니다.

이제 모든 설치와 설정이 끝났습니다.

 

아래 명령으로 chroot 환경의 데비안으로 접속합니다.(이후부터는 su – 이후 아래 명령만 내리면 됩니다.)

프롬프트가 위와 같이 변경되면 성공입니다. (pts 관련 에러가 발생하지만 무시해도 됩니다)

 

아래 명령으로 각종 패키지를 최신 버전으로 업데이트합니다.

 

아래 명령으로 시간을 설정합니다.

 

아래 명령으로 패키지를 하나 설치해봅니다. (ncftp)

 

chroot 환경을 벗어나려면 아래 명령을 내립니다.

 

참고 사이트: https://www.hqt.ro/how-to-install-debian-jessie-arm/

8 thoughts to “nas4dual에 chroot 설치하기”

  1. 설치 후 기억을 더듬어 작성한 글이라 오류가 있을 수 있습니다. 혹시나 위와 같이 했는데 정상 동작하지 않는다면 댓글을 남겨주시기 바랍니다.

    1. binutils 를 먼저 설치하고 하는 거군요.
      고생하신 거 잘 배워갑니다. ^^
      사실 목적이 다른 곳에 있어(?) ^^ 다른 방법으로 해 봤는데, 문제가 해결이 안되네요.
      데비안을 올려서 설치를 시도해 보면 어떨까 해서요~ 고맙습니다.
      백만년만에 리눅스를 접하니, 생소한 게 많이 나왔네요.
      크로스 컴파일도 방법이 될 거 같고.. 근데 물어볼 곳이 없어 귀찮게 해드렸네요.
      감사해요 ^^

      1. binutils외에도 기본 wget이 아닌 /opt/bin/wget을 사용하는 것도 중요하고, su -로 root 사용자로 전환하는 것도 중요합니다.
        Tvheadend 성공하길 바라겠습니다^^

        1. 잘 지내셨어요 ^^
          nas4dual 이 어떤 설정이 되어 있어선지, entware 를 설치해서 Tvheadend 하면 실행은 문제 없이 실행되는데, 다른 건 다 되는데, 통신이 안됩니다. iptables 로 방화벽를 점검해 봐도 아무 것도 없는데 안되네요.
          암튼 생각해 봤는데, nas4dual은 직접 컴파일 할 수 없나요? 아예 직접 컴파일을 해봤으면 좋겠는데요.
          https://tvheadend.org/projects/tvheadend/wiki/Building
          우분투나 데비안 건데, 임베디드는 직접 컴파일이 안되나요?

          1. 안녕하세요.
            직접 컴파일 하려면 build-essential 설치하면 될 겁니다.
            git은 소스를 내려받기 위한 툴입니다.

  2. 안녕하세요
    su – 를 했음에도 불구하고…
    chmod 755 /opt/etc/init.d/S99debian
    가 먹질않습니다.. 에러가 뜨는건아닌데
    정상적으로 콘솔은 먹히는데
    실질적으로 권한은 변경되지않고 모두
    -rwxrwxrwx 입니다.. chown 으로 소유자,그룹은 변경이되는데
    chmod 는 변경이되지않습니다. 혹시 추가적으로 수정해야되는부분이 있을까요?

    1. entware는 설치된 상태인거죠?
      su – 명령을 내렸을 때 아래처럼 쉘이 변경되는지요?

      localhost> su –

      BusyBox v1.00-rc3 (2016.05.13-01:37+0000) Built-in shell (ash)
      Enter ‘help’ for a list of built-in commands.

      localhost>

답글 남기기

이메일은 공개되지 않습니다.