د TQMa93 لوګو

د TQMa93 خوندي بوټ

TQMa93-خوندي-بوټ-محصول

د محصول معلومات

مشخصات

  • ماډل: TQMa93xx
  • عملیاتي سیسټم: لینکس (اوبنټو ۲۲.۰۴)
  • د امنیت ځانګړتیا: خوندي بوټ

پاملرنه: فیوزونه (یو ځل پروګرام کیدونکي) په دې طریقه کې تنظیم شوي دي، دا پروسه بیرته نه راګرځیدونکې ده. له همدې امله په کلکه سپارښتنه کیږي چې د دې لارښود لپاره د پراختیا نمونې وکاروئ.

کړنلاره

دا لارښود تشریح کوي چې څنګه د باور یوه سلسله د بوټ لوډر څخه د لینکس کرنل له لارې د dm-verity سره د روټ برخې ته رامینځته کیدی شي.
لاندې جدول د بوټ پروسې په جریان کې د باور او تایید سلسلې رامینځته کولو کې دخیل ګامونو ساده توضیحات وړاندې کوي:

TQMa93-خوندي-بوټ-01

تیاری

د TQMa93xx لپاره د لاسلیک شوي بوټ سټریم جوړولو لپاره لاندې پروژې اړینې دي:

د TQMa93xx لپاره بوټ سټریم څو هنري اثار لري. د ورته سرچینې څخه د دې ټولو هنري اثارو ترلاسه کولو لپاره، سپارښتنه کیږي چې د TQ Yocto کاري ځای ci-meta-tq وکاروئ. هغه لارښوونې چې هلته شاملې دي د لاندې TQMa93xx پر بنسټ وسیلو څخه د یو بشپړ انځور (tq-image-weston-debug یا tq-image-generic-debug) جوړولو لپاره تعقیب کیدی شي:

  • tqma93xx-mba91xxca.conf
  • tqma93xx-mba93xxca.conf
  • tqma93xxla-mba93xxla.conf

پاملرنه: د خوندي بوټ فعالیت (AHAB) سره د U-Boot جوړولو لپاره، لاندې کرښه باید local.conf ته اضافه شي:
DISTRO_FEATURES: ضمیمه = "خوندي"
بیا، د بوټ جریان باید بیا جوړ شي:
$ بټ بیک ایم ایکس بوټ

د TQ Yocto کاري ځای هم د دې لپاره کارول کیدی شي چې دلته وړاندې شوي د باور بشپړ سلسله انځور جوړ کړي. د دې لپاره اړین ترتیبات په 5.2 برخه کې تشریح شوي.
د لینکس کرنل او یو-بوټ لپاره سرچینې اختیاري دي مګر سپارښتنه کیږي. دوی د ګیتوب څخه ډاونلوډ کیدی شي:

U-بوټ

د کیليو جوړول
د بوټ سټریم لاسلیک کول او تایید د عامه کیلي زیربنا (PKI) په کارولو سره ترسره کیږي. که چیرې دمخه شتون ونلري، د کوډ لاسلیک کولو وسیله د مناسب PKI جوړولو لپاره کارول کیدی شي. CST 3.4.x یو tar.gz آرشیف دی چې یوازې د خلاصولو ته اړتیا لري. نور نصبولو ته اړتیا نشته. لاندې ګامونه د s تولید لپاره کارول کیدی شيampد دې لارښود لپاره کیلي:

پاملرنه: لارې د آرشیف څخه استخراج شوي فولډر سره تړاو لري.

  1. د لومړي سند سریال نمبر په کیلي/سریال کې دننه کړئ (file باید جوړ شي): ۱۲۳۴۵۶۷۸
  2. پاسفرېز دوه ځله په keys/key_pass.txt کې دننه کړئ (file باید جوړ شي):
    زما_پاسفراز زما_پاسفراز
  3. د PKI ونې جوړ کړئ:
    $ keys/ahab_pki_tree.sh -existing-ca n -kt ecc -kl p521 -da sha512 -duration 10 -srk-ca n
    د انتخابونو د وضاحت لپاره، مهرباني وکړئ د کارونکي لارښود ته مراجعه وکړئ چې په CST کې شتون لري (د ډاکس فرعي فولډر کې) یا د پورته سکریپټ د -help اختیار.
    په بدیل سره، سکریپټ هم پرته له انتخابونو بلل کیدی شي او په متقابل حالت کې تنظیم شوی وي.
    سکرېپټ په کیلي/ کې کیلي او په crts/ کې ​​سندونه تولیدوي.
  4. د SRK جدول او د SRK هش جدول جوړ کړئ:
    $ لینکس 64/بن/سرکټول -ا -س sha512 -ډ sha256 -ټ SRK_1_2_3_4_table.bin \
    -e SRK_1_2_3_4_fuse.bin -f 1 -c
    crts/SRK1_sha512_secp521r1_v3_usr_crt.pem,crts/SRK2_sha512_secp521r1_v3_usr_crt. pem,crts/SRK3_sha512_secp521r1_v3_usr_crt.pem,crts/SRK4_sha512_secp521r1_v3_usr_ crt.pem
  5. د SRK هش جدول په فیوزونو کې ولیکئ:
    پاملرنه: دا ګام یوازې یو ځل ممکن دی او نه بدلیدونکی دی. لاندې ارزښتونه یوازې د مثال په توګه ديampاو باید ستاسو د خپلو ارزښتونو سره بدل شي.
    • د هشونو ښودل:
      $ هیکسډمپ -e '/4 "0x"' -e '/4 "%X""\n"' SRK_1_2_3_4_fuse.bin
      0x00000000
      0x11111111
      0x22222222
      0x33333333
      0x44444444
      0x55555555
      0x66666666
      0x77777777
    • په فیوزونو کې هشونه ولیکئ (TQMa93xx U-Boot):
      => فیوز پروګ ۱۶ ۰ ۰x۰۰۰۰۰۰۰۰۰
      => فیوز پروګ ۱۶ ۰ ۰x۰۰۰۰۰۰۰۰۰
      => فیوز پروګ ۱۶ ۰ ۰x۰۰۰۰۰۰۰۰۰
      => فیوز پروګ ۱۶ ۰ ۰x۰۰۰۰۰۰۰۰۰
      => فیوز پروګ ۱۶ ۰ ۰x۰۰۰۰۰۰۰۰۰
      => فیوز پروګ ۱۶ ۰ ۰x۰۰۰۰۰۰۰۰۰
      => فیوز پروګ ۱۶ ۰ ۰x۰۰۰۰۰۰۰۰۰
      => فیوز پروګ ۱۶ ۰ ۰x۰۰۰۰۰۰۰۰۰

 د لاسلیک شوي بوټ سټریم جوړول

 د U-بوټ پراپر او ATF

  1. اړین کاپي کړئ files (د TQ انځور بریالی جوړونه، پورته وګورئ، یا د U-بوټ سرچینې فرض شوي دي):
    • د ARM باوري فرم ویئر: ${DEPLOY_DIR_IMAGE}/bl31-imx93.bin، نوم یې bl31.bin ته بدل کړئ
    • د U-بوټ مناسب:
      ${DEPLOY_DIR_IMAGE}/u-boot.bin
      دا file دا یو لینک دی، نو دا د cp –-dereference یا display سره کاپي کړئ او اصلي یې کاپي کړئ file د ls –-long سره
      or
      د ځان تالیف شوي U-Boot سرچینو څخه
      دا fileفایلونه باید imx-mkimage/iMX9/ ته کاپي شي. imx-mkimage د پورته ذکر شوي ګیتوب ذخیره څخه ترلاسه کیدی شي، نصبولو ته اړتیا نشته.
  2. د U-Boot Proper او ATF سره کانټینر جوړ کړئ (په imx-mkimage فولډر کې اجرا کړئ):
    $ make SOC=iMX9 REV=A1 u-boot-atf-container.img کې autobuild.mak شامل دي
    • CST: کانټینر 0 آفسیټ: 0x0
    • CST: کانټینر 0: د لاسلیک بلاک: آفسیټ په 0x110 کې دی
    • آفسېټونه = 0x0 0x110
    • ترسره شوی.
    • یادونه: مهرباني وکړئ انځور په آفسیټ کې کاپي کړئ: IVT_OFFSET + IMAGE_OFFSET
      پاملرنه: په راتلونکي ګام کې د کانټینر او لاسلیک بلاک لپاره آفسیټونه اړین دي.
    • بیا باید د imx-mkimage/iMX9/u-boot-atf-container.img اثار د "3.1 کیلي تولید" په مرحله کې خلاص شوي CST فولډر ته کاپي شي.
  3. د کانټینر او لاسلیک بلاک آفسیټ د قوماندې ترتیب ته لیږدول File (CSF):
    • [سرلیک]
    • هدف = AHAB
    • نسخه = 1.0
    • [SRK نصب کړئ]
    • File = “SRK_1_2_3_4_table.bin”
    • Source = “crts/SRK1_sha512_secp521r1_v3_usr_crt.pem”
    • د سرچینې شاخص = 0
    • د سرچینې سیټ = OEM
    • لغوه کول = 0x0
    • [د معلوماتو تصدیق کول]
    • File = “u-boot-atf-container.img”
    • آفسېټونه = 0x0 0x110
    • CSF پر بنسټ: https://github.com/nxp-imx/uboot-imx/blob/lf_v2024.04/doc/imx/ahab/csf_examples/csf_uboot_atf.txt
    • CSF هم د CST فولډر کې د csf_uboot_atf.txt په نوم ساتل کیږي چې د "3.1 تولیدي کیلي" په مرحله کې خلاص شوی و.
  4. د لاسلیک کانټینر (د CST فولډر پورې اړوند لاره):
    $ linux64/bin/cst -i csf_uboot_atf.txt -o signed-u-boot-atf-container.img لاسلیک شوی کانټینر باید بیا imx-mkimage/iMX9/u-boot-atf-container.img ته کاپي شي. د u-boot-atf-container.img ته د نوم بدلولو یادونه وکړئ.

 بشپړ بوټ سټریم

  1. اړین کاپي کړئ files (د TQ انځور بریالی جوړونه، پورته وګورئ، یا د U-Boot سرچینو فرض کیږي):
    • د ایجلاک خوندي انکلیو فرم ویئر: ${DEPLOY_DIR_IMAGE}/mx93a1-ahab-container.img
    • د RAM فرم ویئر: ${DEPLOY_DIR_IMAGE}/lpddr4*.bin
    • د یو-بوټ SPL:
      ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin
      دا file دا یو لینک دی، نو دا د cp –-dereference یا display سره کاپي کړئ او اصلي یې کاپي کړئ file د ls –-long سره
      or
      د ځان تالیف شوي U-Boot سرچینو څخه
    • د "3.2.1 U-Boot Proper او ATF" ګام څخه لاسلیک شوی کانټینر د U-Boot Proper او ATF سره
      دا files باید imx-mkimage/iMX9/ ته هم کاپي شي.
  2. د بوټ سټریم جوړول
    • $ جوړ کړئ -j8 SOC=iMX9 REV=A1 فلش_سنګل بوټ
      autobuild.mak شامل کړئ
    • CST: کانټینر 0 آفسیټ: 0x400
    • CST: کانټینر 0: د لاسلیک بلاک: آفسیټ په 0x490 کې دی
    • آفسېټونه = 0x400 0x490
    • ترسره شوی.
    • نوټ: مهرباني وکړئ انځور د آفسیټ لپاره کاپي کړئ: IVT_OFFSET + IMAGE_OFFSET د u-boot-atf-container.img سره ضمیمه کړئ په 379 KB کې، psize=1024
    • 1145+0 ریکارډونه په کې
    • 1145+0 ریکارډونه بهر
    • 1172480 بایټ (1.2 MB، 1.1 MiB) کاپي شوي، 0.00266906 s، 439 MB/s
    • پاملرنه: په بل ګام کې د کانټینر او لاسلیک بلاک لپاره آفسیټونه اړین دي.
      بیا باید د imx-mkimage/iMX9/flash.bin اثار د "3.1 تولیدي کیلي" په مرحله کې خلاص شوي CST فولډر ته کاپي شي.
  3. د کانټینر او لاسلیک بلاک آفسیټ د قوماندې ترتیب ته لیږدول File (CSF):
    • [سرلیک]
    • هدف = AHAB
    • نسخه = 1.0
    • [SRK نصب کړئ]
    • File = “SRK_1_2_3_4_table.bin”
    • Source = “crts/SRK1_sha512_secp521r1_v3_usr_crt.pem”
    • د سرچینې شاخص = 0
    • د سرچینې سیټ = OEM
    • لغوه کول = 0x0
    • [د معلوماتو تصدیق کول]
    • File = "فلش.بین"
    • آفسېټونه = 0x400 0x490
    • CSF پر بنسټ: https://github.com/nxp-imx/uboot-imx/blob/lf_v2024.04/doc/imx/ahab/csf_examples/csf_boot_image.txt
    • CSF د CST فولډر کې د csf_boot_image.txt نوم سره زیرمه شوی چې په "3.1 د کیلي تولید" مرحله کې خلاص شوی نه دی.
  4. د بوټ سټریم لاسلیک کړئ
    • لینکس 64/بن/cst -i csf_boot_image.txt -o لاسلیک شوی-فلش.بن

د بوټ سټریم د ځای په ځای کولو ګامونه په BSP طبقه کې موندل کیدی شي (https://github.com/tq-systems/meta-tq) د میټا-ټیک/ډاک لاندې.

تایید
د دې لپاره چې وګورئ چې لاسلیک شوی بوټ سټریم اعتبار لري، په U-Boot کې د ahab_status کمانډ وکاروئ:

  • => د احاب حالت
  • د ژوند دوره: 0x00000008، OEM خلاص
  • هیڅ پیښه ونه موندل شوه!
  • که چیرې یوه پیښه وموندل شي، نو د بوټ سټریم غلط دی او په تړل شوي وسیله کې به د بوټ کولو توان ونلري.

د جعل کولو لپاره، یو غیر لاسلیک شوی بوټ سټریم بوټ کیدی شي او بیا ahab_status ویل کیدی شي:

  • => د احاب حالت
  • د ژوند دوره: 0x00000008، OEM خلاص
  • 0x0287فاد6
  • IPC = MU APD (0x2)
  • سي ایم ډي = ELE_OEM_CNTN_AUTH_REQ (0x87)
  • انډ = ELE_BAD_KEY_HASH_FAILURE_IND (0xFA)
  • STA = ELE_SUCCESS_IND (0xD6)
  • 0x0287فاد6
  • IPC = MU APD (0x2)
  • سي ایم ډي = ELE_OEM_CNTN_AUTH_REQ (0x87)
  • انډ = ELE_BAD_KEY_HASH_FAILURE_IND (0xFA)
  • STA = ELE_SUCCESS_IND (0xD6)

 وسیله لاک کړئ

پاملرنه: دا ګام نه بدلیدونکی دی او یوازې باید د اړتیا په صورت کې ترسره شي. که چیرې ترتیب غلط وي، نو دا ګام به د نه کارولو وړ وسیله پایله ولري.

دا وسیله د ahab_close قوماندې سره په U-Boot کې بند کیدی شي. دا پدې مانا ده چې یوازې د بوټ ROM لخوا تایید شوي معتبر بوټ سټریمونه به بوټ شي. د ریبوټ کولو وروسته لاندې حالت ښودل کیږي:

  • => د احاب حالت
  • د ژوند دوره: 0x00000020، OEM تړل شوی
  • هیڅ پیښه ونه موندل شوه!

د فټ انځور

پاملرنه: د لارې معلومات د نوي، خالي فولډر سره تړاو لري، د مثال په توګه
fit_image_work، یا د کرنل سرچینې، که پخپله تالیف شوي وي. له دې وروسته د کاري لارښود په نوم یادیږي.

د کیلي جوړه جوړول
د FIT انځور د لاسلیک کولو لپاره یو غیر متناسب کیلي جوړه کارول کیږي. دا ډول جوړه د OpenSSL سره رامینځته کیدی شي:

$ openssl genpkey - الګوریتم RSA - بهر dev.key -pkeyopt rsa_keygen_bits:2048
$ openssl req -batch -new -x509 -key dev.key -out dev.crt

د انځور ونې سرچینه جوړه کړئ

  • د FIT انځور لپاره د انځور ونې سرچینه sign.its جوړه کړئ.
  • /dts-v1/;
  • / {
  • توضیحات = "د TQMa93xx لپاره د کرنل فټ انځور"؛
  • #پته-حجرې = <1>;
  • انځورونه {
  • کرنل-۱ {
  • توضیحات = "د لینکس کرنل"؛
  • معلومات = /incbin/("انځور")؛
  • ډول = "کرنل"؛
  • آرچ = "بازو 64";
  • OS = "لینکس";
  • کمپریشن = "gzip"؛
  • بار = <0x90000000>;
  • ننوتنه = <0x90000000>;
  • هش-۱ {
  • الګو = “sha256”;
  • };
  • };
  • fdt-1 {
  • توضیحات = "د وسیلې ونې فلیټ شوی بلاب"؛
  • معلومات = /incbin/(“ ")؛
  • ډول = "flat_dt";
  • آرچ = "بازو 64";
  • کمپریشن = "هیڅ نه"؛
  • بار = <0x97000000>;
  • هش-۱ {
  • الګو = “sha256”;
  • };
  • };
  • };
  • تشکیلات {
  • ډیفالټ = "conf-1"؛
  • اعتراف-۱ {
  • توضیحات = "د لینکس کرنل، FDT بلاب"؛
  • دانه = "دانه-۱"؛
  • fdt = "fdt-1";
  • هش-۱ {
  • الګو = “sha256”;
  • };
  • لاسلیک-۱ {
  • الګو = “sha256,rsa2048”;
  • د کیلي نوم اشاره = "dev";
  • پیډینګ = "pkcs-1.5";
  • نښې انځورونه = "کرنل"، "fdt"؛
  • };
  • };
  • };
  • };

 د لاسلیک شوي FIT انځور جوړول

یادونه: د دې مرحلې لپاره د U-Boot لپاره د devicetree بائنری اړین دی. چمتو شوي devicetree بائنریونه د U-Boot build ډایرکټرۍ کې د Yocto کاري ځای کې موندل کیدی شي. د build ډایرکټرۍ ته لاره د بټ بیک مجازی/بوټلوډر –e | grep ^B= سره ښودل کیدی شي.

  1. اړین کاپي کړئ files د کاري لارښود ته:
    • په pubkey.dtb کې د U-Boot devicetree imx93-tqma9352-mba91xxca.dtb، imx93-tqma9352-mba93xxca.dtb یا imx93-tqma9352-mba93xxla.dtb نوم بدل کړئ:
      د یوکټو کاري ځای کې د یو-بوټ جوړونې لارښود څخه (لاره: بټ بیک مجازی/بوټلوډر –e | ګریپ ^B=)
      or
      د ځان تالیف شوي U-Boot سرچینو څخه
    • لینوکس-کرنل:
      ${DEPLOY_DIR_IMAGE}/انځور
      دا file دا یو لینک دی، نو دا د cp –-dereference یا display سره کاپي کړئ او اصلي یې کاپي کړئ file د ls –-long سره
      or
      د ځان تالیف شوي لینکس سرچینو څخه
    • د لینوکس وسیلې ونې:
      د ${DEPLOY_DIR_IMAGE}/imx93-tqma93… ډول پورې اړه لري
      دا file دا یو لینک دی، نو دا د cp –-dereference یا display سره کاپي کړئ او اصلي یې کاپي کړئ file د ls –-long سره
      or
      د ځان تالیف شوي لینکس سرچینو څخه
    • هغه کیلي چې په ۴.۱ ګام کې تولید شوي دي
    • د هغه file په 4.2 مرحله کې رامینځته شوی
  2. د لاسلیک سره د FIT انځور جوړ کړئ
    $ mkimage -f sign.its -K pubkey.dtb -k . -r image.itb
    عامه کیلي د U-بوټ د وسیلې ونې ته لیکل کیږي. دا کیلي د پورته لاسلیک شوي FIT عکس تاییدولو لپاره کارول کیږي.

پاملرنه: د U-Boot devicetree د عامه کیلي سره د فصل 3.2 څخه لاسلیک شوي بوټ سټریم ته د بسته کولو لپاره، د فصل 3.2 څخه ګامونه باید د دودیز شوي U-Boot Proper u-boot.bin سره تکرار شي. د دې کولو لپاره، د عامه کیلي pubkey.dtb سره devcietree باید د U-Boot تالیف کولو پرمهال د EXT_DTB اختیار له لارې مشخص شي:
جوړ کړئ EXT_DTB=

تایید
په U-Boot کې د عامه کیلي سره، لاسلیک شوی FIT انځور image.itb د مناسب میډیم (TFTP، eMMC، SD) څخه د بارولو وروسته د bootm سره بوټ کیدی شي.
کله چې د FIT انځور بوټ کوئ، U-Boot د هش بشپړتیا تصدیق کولو معلومات بیرته راګرځوي ... sha256,rsa2048:dev+ OK د نوم، الګوریتم او د کیلي اوږدوالی سره چې په 4.1 فصل کې په کنسول کې رامینځته شوی:

  • ## د FIT انځور څخه په ۸۰۴۰۰۰ کې د کرنل بار کول ...
  • د هش بشپړتیا تایید کول ... sha256,rsa2048:dev+ سمه ده
  • ## د FIT انځور څخه په ۸۰۴۰۰۰ کې رامډیسک پورته کیږي ...
  • د هش بشپړتیا تایید کول ... sha256,rsa2048:dev+ سمه ده
  • ## د FIT انځور څخه fdt په ۸۰۴۰۰۰ کې پورته کیږي ...
  • د هش بشپړتیا تایید کول ... sha256,rsa2048:dev+ سمه ده

د جعل کولو لپاره، د کیلي بله جوړه لکه څنګه چې په 4.1 برخه کې تشریح شوې تولید کیدی شي او د FIT عکس لاسلیک کولو لپاره کارول کیدی شي. دا FIT عکس د U-Boot Devicetree کې د کیلي بدلولو پرته بوټ نشي کیدی:
## د FIT انځور څخه په ۸۰۴۰۰۰ کې د کرنل بار کول ...

د 'conf-1' ترتیب کارول
د هش بشپړتیا تایید کول ... sha256,rsa2048: ازموینه - تېروتنه!
د ' لپاره تایید ناکام شو 'په 'conf-1' ترتیب نوډ کې د هش نوډ
د اړتیا وړ لاسلیک 'key-dev' تاییدولو کې پاتې راغی
خراب ډیټا هش
تېروتنه: د کرنل انځور نشم ترلاسه کولی!

د باور سلسله پراخه کړئ: د ریښې ویش
د باور پخوانۍ جوړه شوې سلسله د U-Boot او Linux کرنل اصليت تاییدوي. د پورته ذکر شوي میکانیزمونو سره، یوازې د تولید شوي شخصي کیلي مالک کولی شي خپل سافټویر لاسلیک کړي او په وسیله یې بوټ کړي. نور لینکونه په زنځیر کې اضافه کیدی شي. لاندې برخه تشریح کوي چې څنګه د dm-verity په کارولو سره د لاسوهنې په وړاندې د روټ ویش خوندي کیدی شي. د اصلي پلي کولو لپاره، دا هم ښودل شوي چې څنګه بشپړ زنځیر د TQ-BSP سره رامینځته کیدی شي. د dm-verity محافظت لپاره ګام په ګام لارښود د اړتیاو پیچلتیا له امله له پامه غورځول شوی.

 سکیچ: د ویریټي وسیلې نقشه جوړونکی

  1. د ویریټي هشونه تولید کړئ:
    veritysetup د هش ارزښتونه محاسبه کوي او د روټ برخې په پای کې یې ذخیره کوي. د روټ برخه کولی شي یو ریښتینی وي file یا د بلاک وسیله file (د مثال په توګه /dev/sdaX).
    • د حقیقت تنظیم کول \
    • – د معلوماتو بلاک اندازه = ۱۰۲۴ \
    • – د هېش بلاک اندازه = ۴۰۹۶ \
    • - هېش-افسیټ = \
    • بڼه \
    • \
    • veritysetup لاندې معلومات (په ورته ډول مختلف ارزښتونو سره) تولیدوي:
    • د data.img لپاره د VERITY سرلیک معلومات
    • UUID: e06ff4cb-6b56-4ad4-bd97-0104505a70a5
    • د هش ډول: ۱
    • د معلوماتو بلاکونه: ۲۰۴۸۰۰
    • د معلوماتو بلاک اندازه: ۱۰۲۴
    • د هش بلاک اندازه: 4096
    • د هش الګوریتم: sha256
    • Salt: 17328c48990b76fbb3e05d0ebfd236043674cf0d14c278bc875b42693621cc21
    • Root hash: a0e1a449d452f74d041706b955794c0041e3d8ad051068df6589e08485323698
    • د روټ هش هغه حساس ارزښت دی چې باید خوندي شي. که چیرې دا هش زیانمن شي، د بیلګې په توګه که چیرې دا د یو غیر مجاز کس لخوا بدلیدلی شي، نو د dm-verity لخوا د روټ برخې بشپړتیا ساتنه بې ګټې ده.
  2. د باور په سلسله کې د روټ هش مدغم کړئ
    • پورته تولید شوی روټ هش په لاسلیک شوي FIT انځور کې زیرمه شوی، کوم چې دا د لاسوهنې څخه ساتي. د دې هدف لپاره، یو initramfs د FIT انځور ته اضافه شوی چې پکې روټ هش په a کې زیرمه شوی دی. file.
    • د ITS د انځورونو نوډ file د ۴.۲ فصل څخه لاندې برخې، د نورو په منځ کې، غځول شوې ده:
    • رامډیسک-۱ {
    • توضیحات = "dm-verity-image-initramfs"؛
    • معلومات = /incbin/(“ ")؛
    • ډول = "رام ډیسک"؛
    • آرچ = "بازو 64";
    • OS = "لینکس";
    • کمپریشن = "هیڅ نه"؛
    • بار = <0x98000000>;
    • ننوتنه = <0x98000000>;
    • هش-۱ {
    • الګو = “sha256”;
    • };
    • };
  3. د روټ برخې بشپړتیا وګورئ
    • initramfs یو مناسب سکریپټ لري چې د روټ برخې او روټ هش څخه د وسیلې میپر تولیدوي.
    • د حقیقت تنظیم کول \
    • – د معلوماتو بلاک اندازه = $ { د معلوماتو بلاک اندازه } \
    • – هېش-افسیټ=${DATA_SIZE} \
    • روټ ایف ایس جوړ کړئ \
    • \
    • \

د وسیلې نقشه کونکی بیا نصب کیږي:

  • ماونټ \
  • -o ro \
  • /dev/mapper/rootfs \
  • /روټ ایف ایس

ريښه fileسیسټم یوازې د لوستلو وړ دی. اصلي روټ ته د بدلولو لپاره fileسیسټم، د سویچ روټ څخه کار واخلئ.

د TQ-BSP سره اتوماتیک جوړول
په اصل کې، د بوټ لوډر څخه تر روټ برخې پورې د باور سلسله سره یو انځور د TQ-BSP سره په اتوماتيک ډول رامینځته کیدی شي.
د TQMa93xx لپاره لاندې انتخابونه باید په local.conf کې اضافه شي:

  • # DISTRO_FEATURE د U-Boot او Kernel لپاره اړین ترتیب انتخابونه خوندي کوي
  • DISTRO_FEATURES: ضمیمه = "خوندي"
  • # د هغه کیلي نوم چې د بوټلوډر لاسلیک کولو لپاره کارول کیږي
  • IMX_HAB_KEY_NAME = "احاب"
  • # د جوړولو په پروسه کې د FIT انځور لاسلیک فعالوي
  • UBOOT_SIGN_ENABLE = "۱"
  • # دا ټولګی د خوندي شوي روټ برخې جوړولو لپاره منطق لري
  • د انځور ټولګي += "dm-verity-img"
  • # د dm-verity اداره کولو لپاره د initramfs انځور نوم
  • INITRAMFS_IMAGE = "dm-verity-image-initramfs"
  • # Initramfs په انځور کې د جلا اثار په توګه ساتل کیږي
  • INITRAMFS_IMAGE_BUNDLE = "0"
  • # د FIT انځور د initramfs سره د بوټ برخې کې وساتئ
  • انځور_بوټ_FILES: ضمیمه = ” فټ انځور-${INITRAMFS_IMAGE}-${ماشین}-
  • ${MACHINE};fitImage” # انځور به د dm-verity سره خوندي شي
  • # بدیل: tq-image-weston-debug
  • DM_VERITY_IMAGE = "tq-انځور-عمومي-ډیبګ"
  • # د پورته انځور ډیری ډولونه
  • DM_VERITY_IMAGE_TYPE = "ext4"

پاملرنه: دقیق انتخابونه ممکن د BSP په راتلونکو نسخو کې بدلون ومومي. وروستي معلومات د BSP پرت اسنادو کې موندل کیدی شي (https://github.com/tq-systems/meta-tq) د میټا-ټیک/ډاک لاندې.

بشپړ انځور د بټ بیک tq-image-generic-debug سره جوړ شوی او بیا په SD کارت کې لیکل کیدی شي، د مثال په توګهample.

تایید
په لینکس کې، mount -a د دې لپاره کارول کیدی شي چې وګوري چې ایا Verity Devicemapper د روټ په توګه نصب شوی دی. fileسیسټم:

  • # غره
  • /dev/mapper/rootfs په / ډول ext4 (ro,relatime)
  • سربېره پردې، ټوله ريښه file په دې حالت کې سیسټم یوازې د لوستلو وړ دی:
  • # لمس ازموینه
  • لمس کول: 'ازموینه' نشي لمس کولی: یوازې لوستل file سیسټم

د جعل کولو لپاره، ریښه file سیسټم په آفلاین ډول تعدیل کیدی شي او وسیله بیا پیل شي. تعدیل د مختلف روټ هش لامل کیږي او د بوټ پروسه لغوه کیږي: device-mapper: verity: 179:98: د معلوماتو بلاک 1 فاسد دی

د TQMa93xx په اړه نور معلومات د TQ ملاتړ ویکي کې موندل کیدی شي: https://support.tq-group.com/en/arm/modules#nxp_imx_9_series

TQ-Systems GmbH
موهلسټراس 2 لیټر ګوټ ډیلینګ l 82229 سیفیلډ Info@TQ-ګروپ | TQ-ګروپ

په مکرر ډول پوښتل شوي پوښتنې

پوښتنه: ایا دا ممکنه ده چې د فیوزونو د تنظیم کولو نه بدلیدونکی پروسه چې په "څنګه کول" کې ذکر شوې ده بیرته وګرځول شي؟
ځواب: نه، د فیوزونو تنظیم کول بیرته نه راګرځیدونکي دي. د پراختیا نمونې کارولو سپارښتنه کیږي.

پوښتنه: د لینکس او یو-بوټ لپاره اړین سرچینې چیرته موندلی شم؟

الف: لینکس:
د لینوکس ذخیره

یو-بوټ: U-بوټ
ذخیره

اسناد / سرچینې

د TQ TQMa93 خوندي بوټ [pdf] د کارونکي لارښود
TQMa93xx، TQMa93 خوندي بوټ، خوندي بوټ، بوټ

حوالې

یو نظر پریږدئ

ستاسو بریښنالیک پته به خپره نشي. اړین ساحې په نښه شوي *