NAS의 Custom Linux를 Arch Linux(자세한 내용은 하단 참조)로 교체할 계획입니다. 물론 모든 사용자 데이터를 유지하고 싶고 (SSH 헤드리스 액세스만 해당) 버그가 있는 펌웨어 재설치가 발생할 수 있으므로 완벽하게 대처하려고 합니다. (또는 장치를 벽돌로 만들 수도 있습니다). 따라서 설치를 실행하지 마십시오(적절한 파일을 다운로드하십시오).아치 리눅스 ARM 버전그리고 사용할 수 있습니다LiveCD 방법으로 chroot) 제대로 준비하지 않고 무엇을 기억해야 합니까? (Arch Linux에 제한되지 않고 원하는 대로 자유롭게 답변해 주십시오.) 보다 정확하게는 다음과 같습니다.
- 특정 장치의 부팅 프로세스가 어떻게 작동하는지 파악하는 데 어려움을 겪어야 합니까(예: 부트로더의 어떤 부분이 플래시 메모리에 있고 어떤 부분이 하드 드라이브에 있는지), 아니면 배포판의 설치 프로그램에 의존하여 이 문제를 처리할 수 있습니까? 바르게?
- 특정(전용) 드라이버가 사용되는지 확인하는 방법과 이를 새 설정으로 마이그레이션하는 방법은 무엇입니까?
- 실수로 삭제되지 않도록 RAID 구성이 보호됩니까?
- 간단히 재부팅하여 원래 시스템에 계속 액세스하면서 설치가 올바른지 확인할 수 있도록 부팅 프로세스를 가짜로 만드는 방법이 있습니까? 예를 들어
chroot
그리고kexec
어떻게든?- 또 어떤 점에 주의해야 합니까?
구체적인 상황은 사용자 정의 Linux를 교체하고 싶다는 것입니다.Buffalo LinkStation Pro 듀얼 코어(armv5tel 아키텍처,비강중심에 대한 설명여기에서 수행 방법에 대한 지침이 더 도움이 됩니다.SSH 루트 액세스 권한 얻기) 그리고아치 리눅스 ARM. 그러나 보다 일반적인 답변이 다른 사람들에게도 더 도움이 될 수 있습니다.
답변1
필요한 기술, 특히 설치된 Linux에 대한 지식이 있으면 더 이상 교체할 가치가 없습니다. 무엇을 하든 이미 설치된 커널을 교체하고 싶지는 않을 것입니다. 그러나 아치 리눅스를 비교적 간단하고 완벽하게 만들 수 있습니다!
개념: NAS의 디렉터리에 아치 리눅스를 설치하고 man chroot
이를 chroot()합니다. 이렇게 하면 NAS Linux를 교체할 필요가 없습니다. 아치 리눅스를 설치 및 구성하고 점차적으로 기본 Linux 서비스를 아치 리눅스 서비스로 교체합니다. 아치 리눅스 설치가 더 완전하고 강력할수록 chroot 프로세스를 자동으로 실행할 수 있고, 기본 리눅스에서 제공하는 서비스를 하나씩 종료하며, chrooted 아치 리눅스에서 서비스를 자동으로 시작할 수 있습니다. 완료되면 NAS 시작 프로세스는 다음과 같습니다. exec /sbin/init
커널을 로드하고 하드 드라이브를 chroot 환경에 마운트하고 chroot를 Arch Linux로 마운트합니다.
정확한 작업을 직접 알아내야 합니다. b/ci는 아치 리눅스나 NAS 및 해당 운영 체제를 모릅니다. 아치 리눅스를 설치하려는 대상 디렉토리를 생성해야 합니다. 쓰기 가능한 공간이 충분한 장치에 있어야 하며( mkdir /suitable/path/archlinux
) 아치 리눅스를 부팅해야 합니다.
cd /suitable/path/archlinux
wget -nd https://raw.githubusercontent.com/tokland/arch-bootstrap/master/arch-bootstrap.sh
bash arch-bootstrap.sh yournassarchitecture
이제 해당 경로에 기본 아치 리눅스가 있습니다. 다음 줄을 따라 루트로 이동할 수 있습니다.
cp /etc/resolv.conf etc/resolv.conf
cp -a /lib/modules/$(uname -r) lib/modules
mount -t proc archproc proc
mount -t sysfs archsys sys
mount -o bind /dev dev
mount -t devpts archdevpts dev/pts
chroot . bin/bash
글쎄요 source /etc/profile
. 이제 현재 쉘이 아치 리눅스에 있고 이를 네이티브 리눅스의 대체품처럼 사용할 수 있습니다. 현재 프로세스 범위 내에 있습니다. 분명히 당신은 물건을 설치하고 아치 리눅스를 구성하고 싶습니다. 현재 셸을 사용하여 실행하면 /etc/init.d/ssh start
실제로 Arch Linux 설치의 ssh 데몬이 시작됩니다.
작업이 완료되고 기본 Linux(서비스)를 아치 Linux로 완전히 교체하려는 경우 NAS의 기본 Linux는 더 이상 서비스를 시작하지 않고 대신 위의 chroot 프로세스를 수행합니다. 차이점은 마지막 줄이 입니다 exec chroot . sbin/init
.
이는 실제 교체만큼 완전하지는 않지만 완벽합니다. 원래 언급했듯이 필요한 지식과 기술이 있으면 완전한 교체가 필요하지 않으며 가치가 있을 것입니다. IMHO(!).