Hirdetés

Új hozzászólás Aktív témák

  • Keeperv85

    nagyúr

    válasz Kilenc9 #12125 üzenetére

    A rendszerben van elhelyezve a frissítést figyelő kódsor. ha megérkezett a csomag, akkor a megfelelő kódsor letölti a cache-re, majd elindítja a recovery segítségével. A recovery az update-binary függvényeivel dolgozik, az updater-script alapján, ami jelenleg Edify szintaxisra van generálva. Ez a kis fájl tudja, hogy melyik kiolvasás/beírás miként kell megtörténjen. a recovery alól mindig rootként és insecured módban fut a kernel, tehát a system mindig r/w-re csatolódik.

    Pl.

    ui_print("Check kernel binary..");
    assert(apply_patch_check("EMMC:/dev/block/platform/comip-mmc.1/by-name/kernel:3868816:c8be3371417f6df4fab08371bc84fad76d3e10ec:3868856:2a686519da571d83ca068990dee4f7c002618aee"));

    Ezzel ugye, mivel az assert egy logikai változó, vagy igaz kimenetet kapunk, vagy hamist, ettől függően megáll a folyamat vagy éppen folytatódik.

    ui_print("Patching kernel image...");
    apply_patch("EMMC:/dev/block/platform/comip-mmc.1/by-name/kernel:3868816:c8be3371417f6df4fab08371bc84fad76d3e10ec:3868856:2a686519da571d83ca068990dee4f7c002618aee",
    "-", 2a686519da571d83ca068990dee4f7c002618aee, 3868856,
    c8be3371417f6df4fab08371bc84fad76d3e10ec, package_extract_file("kernel.p"));

    Érdekesség: a patchelt fájlok nem öröklik meg a jogokat, ezért a script végén azokat újra meg kell határozni. Symlinkeket pedig nem lehet patchelni és nincs is értelme, újra kellőket generálni.

    [ Szerkesztve ]

Új hozzászólás Aktív témák