스왑 이미지를 사용하는 경우 읽기 전용으로 다시 설치할 수 있나요?

스왑 이미지를 사용하는 경우 읽기 전용으로 다시 설치할 수 있나요?

내 Android 휴대폰(CyanogenMod 10.1, 커널 3.0.78)을 가지고 놀다가 다음을 발견했습니다.

  • 스크립트/etc/init.d/99system.swap.sh
  • /system을 rw로 다시 마운트하고 다음에 이미지 파일을 생성합니다./system/swap/swap.img

휴대폰이 시작된 후 이 swap.img 파일을 보면 찾을 수 있으며 사용 중입니다 /proc/swaps. 그러나 /systemro로 설치되었습니다.

다른 전화기에서 수동으로 동일한 작업을 시도했습니다. 그런데 다시 설치하려고 /system하면루오, 리소스가 사용 중이라는 오류가 발생합니다. 파일의 이미지를 바꾸면 swap.img즉시 다음 /system과 같이 다시 마운트할 수 있습니다.루오.

내가 틀렸어, 다시 공식화할 수 /system없어루오다음과 같이 다시 설치한 후읽고 쓰기.라소프사용 중인 많은 프로세스를 표시합니다 /system.

답변1

swapon이론적으로는 맨페이지에 다음 과 같이 명시되어 있으므로 가능해야 합니다 .

[...] the swap file implementation in the kernel expecting to be able to write to the file directly, without the assistance of the file system [...]

따라서 스왑 파일이 있으면 커널은 이를 파티션으로 처리하는 것을 선호합니다. 즉, 디스크에서 스왑 파일의 물리적 위치를 결정한 다음 해당 영역을 파티션 영역처럼 직접 사용합니다. 일반 파티션으로 바꾸는 것만큼 빠르게 파일로 바꾸는 방법은 다음과 같습니다.

이 시점에서 파일 시스템은 루프에서 벗어났으며 파일 시스템 자체를 읽기 전용으로 설정할 수 있습니다. 실제로 이를 허용하는지 여부는 또 다른 문제입니다. 특히 Android가 일반 Linux 환경과 다르게 동작할 수 있기 때문에 직접 테스트하지 않았습니다.

관련 정보