적합한 이미지에서 rootfs를 로드하고 서명 확인을 수행합니다.

적합한 이미지에서 rootfs를 로드하고 서명 확인을 수행합니다.

이미지와 보안 부팅에 익숙해지는 것이 처음입니다. 명령을 사용하여 적합한 이미지를 생성 mkimage하고 여기에 커널 dtb 및 rootfs를 추가했습니다.

표적:

  1. 적절한 미러 커널 rootfs 및 dtb에서 부팅해야 합니다. 적절한 이미지에서 커널과 dtb를 부팅할 수 있습니다. 그러나 적절한 이미지에서 rootfs를 로드하고 이를 mmcblk에 쓰는 방법에 대한 단서가 없습니다.
  2. 또한 이미지를 확인하려면 커널 rootfs 및 dtb와 같은 몇 가지 서명을 사용해야 합니다. 이를 수행하는 방법. 부족한 점이 있으면 도와주시거나 안내해 주세요.

다음은 내 fitimage 구성입니다.

/dts-v1/;

/ {
        description = "U-Boot fitImage for Aprisa NEXT/4.14.54+gitAUTOINC+7c0df4bf46/clearfog";
        #address-cells = <1>;

        images {
                kernel@1 {
                        description = "Linux kernel";
                        data = /incbin/("/home/deepak/4RF/release_11/fit_image_pro/zImage");
                        type = "kernel";
                        arch = "arm";
                        os = "linux";
                        compression = "none";
                        load = <20008000>;
                        entry = <20008000>;
                        hash@1 {
                                algo = "sha1";
                        };
                };
                [email protected] {
                        description = "Flattened Device Tree blob";
                        data = /incbin/("/home/deepak/4RF/release_11/fit_image_pro/armada-388-clearfog-pro.dtb");
                        type = "flat_dt";
                        arch = "arm";
                        compression = "none";
                        hash@1 {
                                algo = "sha1";
                        };
                };
                ramdisk@1 {
                        description = "initramfs-main-image";
                        data = /incbin/("/home/deepak/4RF/release_11/fit_image_pro/openwrt-mvebu-cortexa9-device-armada-388-clearfog-pro-rootfs.tar.gz");
                        type = "ramdisk";
                        arch = "arm";
                        os = "linux";
                        compression = "gzip";
                        load = <00000000>;
                        entry = <00000000>;
                        hash@1 {
                                algo = "sha1";
                        };
                };
    };

        configurations {
                default = "[email protected]";
                [email protected] {
            description = "1 Linux kernel, FDT blob, ramdisk";
            kernel = "kernel@1";
            fdt = "[email protected]";
            ramdisk = "ramdisk@1";

                        hash@1 {
                                algo = "sha1";
                        };
                };
    };
};

위 작업을 수행하는 데 사용할 수 있는 적절한 문서가 있으면 안내해 주시고 공유해 주시기 바랍니다.

답변1

https://events.static.linuxfound.org/sites/events/files/slides/elce-2014.pdf

찾고 계신 내용에 도움이 되었기를 바랍니다.

관련 정보