.ko 모듈/기호를 손상시키지 않고 커널을 변경하는 방법

.ko 모듈/기호를 손상시키지 않고 커널을 변경하는 방법

우선 저는 커널 해커가 아니기 때문에 용어가 틀렸다면 사과드립니다.

둘째, 우리 환경을 설명해야 합니다. 작은 단일 보드 컴퓨터(아니요,아니요(무관심한) SoC 제조업체가 제공한 SDK/개발 스택을 기반으로 Linux/Busybox를 실행하고 기본적으로 대규모 그룹에 의해 함께 해킹되는 Raspberry pi(비슷한 버전)엘보니아 코드 슬레이브제로 지원.

구식 커널 빌드 및 Busybox는 일반적으로 사용되는 최신 Linux 명령/도구에 액세스할 수 없음을 의미하며 modprobe이는 여기서 특히 중요합니다.

우리는 대부분의 WTFery를 격퇴하기 위해 최선을 다했지만 여전히 진행 중인 작업입니다.

지금 우리가 있는 곳은 다음과 같습니다.

필요하지 않은 항목을 제거/비활성화하여 커널 빌드를 정리하려고 시도하는 동안 문제가 발생했습니다. 필요하지 않은 일부 항목(예: CONFIG_DEBUG_FS)을 비활성화하면 전체 힙 모듈이 로드되지 않습니다( insmod부팅 프로세스 포함) 예를 들면 다음과 같습니다.

[   16.490979] loop: disagrees about version of symbol set_blocksize
[   16.497116] loop: Unknown symbol set_blocksize (err -22)
[   16.503304] loop: disagrees about version of symbol ioctl_by_bdev
[   16.509440] loop: Unknown symbol ioctl_by_bdev (err -22)
[   16.515656] loop: disagrees about version of symbol set_user_nice
[   16.521898] loop: Unknown symbol set_user_nice (err -22)
[   16.527686] loop: disagrees about version of symbol add_disk

문제는 커널 자체가 장치 플래시 메모리의 한 파티션에 상주하는 반면 사용자 파일 시스템(Busybox 및 앞서 언급한 모듈 포함)과 플래시 업그레이드 도구는 다른 파티션에 상주한다는 것입니다. 업그레이드 루틴은 한 번에 하나의 파티션을 다운로드하고 새로 고칩니다.

따라서 Catch-22 상황이 발생합니다.업데이트하면커널 이미지, .ko 모듈로 인해 마더보드가 부팅되지 않을 위험이 있습니다.파일 시스템 이미지아직 업데이트되지 않았지만 파일 시스템 이미지를 업데이트하면 마더보드가 부팅되지 않을 위험이 있습니다.핵심업데이트되지 않았습니다.

이 문제를 해결할 수 있는 몇 가지 방법이 있지만 고객이 지침을 따르지 않아 마더보드가 파손될 수 있는 기회가 생길 수 있습니다(해당하는 경우).가능한깨뜨려, 누군가~ 할 것이다관리하세요).

그래서 내 질문은 다음과 같습니다

(어떻게) 커널을 수정하거나(주로 일부 항목 제거) 모듈을 다시 빌드하여 커널 + 모듈 등의 한 버전에서 최신 버전으로 이동할 수 있습니까?아니요일시적인 심각한 파손 및 고장 위험이 있습니까?

관련 정보