특정 마더보드의 커널 defconfig에 대한 변경 사항을 추적하는 방법을 모색 중입니다. 제가 언급하는 변경 사항은 menuconfig를 통해 새 옵션을 선택하고 해당 옵션을 유지하거나 새 옵션이 도입되는 새 커널로 이동하는 것입니다.
내 생각은 변경 사항을 커밋하기 전에 주석을 제거하고 defconfig를 정렬하는 것입니다.
make ARCH=arm board_defconfig
make ARCH=arm menuconfig # Changes introduced here and saved to .config
make ARCH=arm savedefconfig # This creates the defconfig file
grep -v '^#' defconfig > tmp
sort tmp > tmp_sorted
uniq tmp_sorted > defconfig
cp savedefconfig arch/arm/configs/board_defconfig
menuconfig
그러나 주석 줄을 추가하는 매우 일관된 습관이 있습니다. 예를 들어:
# CONFIG_IOMMU_SUPPORT is not set
# CONFIG_RTC_INTF_PROC is not set
# CONFIG_IOMMU_SUPPORT is not set
이로 인해 삭제가 허용되는지 다시 생각해 보게 됩니다.
이러한 주석 처리된 행을 삭제하기에 안전하지 않게 만드는 어떤 목적이 있습니까?
답변1
객관적인 답변은 다음과 같습니다.
주석 줄은 안전하게 제거할 수 있습니다. 여기 하나 있어요인용하다이 주장에 대해.
menuconfig(또는 업데이트된 커널의 nconfig)를 사용하여 구성을 다시 확인하여 주석 처리된 섹션이 실제로 원하는 대로 기본값을 유지하는지 확인할 수 있습니다.
답변2
핵심 문제에 대한 해결책은 다음을 비교할 때 파일을 정렬하는 것입니다.
diff <(sort old-file) <(sort new-file)