<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: Recovery doesn't have some functions</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Recovery-doesn-t-have-some-functions/m-p/462388#M72660</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;You can find the simple_dd function here:&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;A class="jive-link-external-small" href="https://github.com/onyx-intl/t80_platform_bootable/blob/master/recovery/updater/install.c#L719" rel="nofollow" style="font-weight: inherit; font-style: inherit; font-family: inherit; color: #017bba;"&gt;t80_platform_bootable/install.c at master · onyx-intl/t80_platform_bootable · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;Same for the sysfs write:&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;A class="jive-link-external-small" href="https://github.com/onyx-intl/t80_platform_bootable/blob/master/recovery/updater/install.c#L675" rel="nofollow" style="font-weight: inherit; font-style: inherit; font-family: inherit; color: #017bba; text-decoration: underline;"&gt;t80_platform_bootable/install.c at master · onyx-intl/t80_platform_bootable · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Gary&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 04 Dec 2015 08:35:16 GMT</pubDate>
    <dc:creator>gary_bisson</dc:creator>
    <dc:date>2015-12-04T08:35:16Z</dc:date>
    <item>
      <title>Recovery doesn't have some functions</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Recovery-doesn-t-have-some-functions/m-p/462387#M72659</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;My environment is i.MX6Q and Android4.4.2 1.0.0-rc3&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 1.5;"&gt;I want to modify update.zip to support update uboot,and I follow &lt;/SPAN&gt;&lt;STRONG style="line-height: 1.5;"&gt;&lt;EM&gt;Android_Frequently_Asked_Questions.pdf&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt;'s section &lt;/SPAN&gt;&lt;STRONG style="line-height: 1.5;"&gt;&lt;EM&gt;How do I customize the reference OTA&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt; application&lt;/EM&gt;&lt;/STRONG&gt; &lt;/P&gt;&lt;P&gt;I added this command to the end of updater-script&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;# Write u-boot to 1K position.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;# u-boot binary should be a no padding uboot!&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;# For eMMC(iNand) device, needs to unlock boot partition.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;ui_print("writting u-boot...");&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;package_extract_file("files/u-boot-6q.bin", "/tmp/u-boot-no-padding.bin");&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;sysfs_file_write("class/mmc_host/mmc0/mmc0:0001/boot_config", "1");&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;simple_dd("/tmp/u-boot-no-padding.bin", "/dev/block/mmcblk0", 1024);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;sysfs_file_write("class/mmc_host/mmc0/mmc0:0001/boot_config", "8");&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;show_progress(0.1, 5);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;When I enter recovery mode,I failed and get this log:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Finding update package...&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;I:Update location: /cache/update.zip&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Opening update package...&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;I:read key e=3 hash=20&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;I:1 key(s) loaded from /res/keys&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Verifying update package...&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;I:comment is 1746 bytes; signature 1728 bytes from end&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;I:whole-file signature verified against key 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;I:verify_file returned 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Installing update...&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #e23d39;"&gt;&lt;STRONG&gt;line 89 col 67: unknown function "sysfs_file_write"&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #e23d39;"&gt;&lt;STRONG&gt;line 90 col 68: unknown function "simple_dd"&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #e23d39;"&gt;&lt;STRONG&gt;line 91 col 67: unknown function "sysfs_file_write"&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;3 parse errors&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;E:Error in /cache/update.zip&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;(Status 6)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Installation aborted.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It said I didn't have some functions.Then I check what functions do I have in recovery,I get this:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./edify/expr.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("ifelse", IfElseFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./edify/expr.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("abort", AbortFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./edify/expr.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("assert", AssertFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./edify/expr.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("concat", ConcatFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./edify/expr.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("is_substring", SubstringFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./edify/expr.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("stdout", StdoutFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./edify/expr.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("sleep", SleepFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./edify/expr.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("less_than_int", LessThanIntFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./edify/expr.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("greater_than_int", GreaterThanIntFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("mount", MountFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("is_mounted", IsMountedFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("unmount", UnmountFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("format", FormatFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("show_progress", ShowProgressFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("set_progress", SetProgressFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("delete", DeleteFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("delete_recursive", DeleteFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("package_extract_dir", PackageExtractDirFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("package_extract_file", PackageExtractFileFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("symlink", SymlinkFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("set_perm", SetPermFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("set_perm_recursive", SetPermFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("set_metadata", SetMetadataFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("set_metadata_recursive", SetMetadataFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("getprop", GetPropFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("file_getprop", FileGetPropFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("write_raw_image", WriteRawImageFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("apply_patch", ApplyPatchFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("apply_patch_check", ApplyPatchCheckFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("apply_patch_space", ApplyPatchSpaceFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("read_file", ReadFileFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("sha1_check", Sha1CheckFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("rename", RenameFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("wipe_cache", WipeCacheFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("ui_print", UIPrintFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;./updater/install.c:&amp;nbsp;&amp;nbsp;&amp;nbsp; RegisterFunction("run_program", RunProgramFn);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;and there are no &lt;STRONG style="color: #e23d39;"&gt;sysfs_file_write &lt;/STRONG&gt;&lt;SPAN style="color: #303030;"&gt;and &lt;/SPAN&gt;&lt;SPAN style="color: #e23d39;"&gt;&lt;STRONG&gt;simple_dd&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #303030;"&gt;,then I check the recovery's git log,I get this:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;commit 4f14fa3dbed753ed474afc953e759934e48b2323&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;Author: guoyin.chen &amp;lt;&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:guoyin.chen@freescale.com"&gt;guoyin.chen@freescale.com&lt;/A&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Date:&amp;nbsp;&amp;nbsp; Fri Aug 23 17:27:30 2013 +0800&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENGR00275477 Recovey: Mess code when enter recovery mode&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Init the text array to make sure default text is null&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Signed-off-by: guoyin.chen &amp;lt;&lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:guoyin.chen@freescale.com"&gt;guoyin.chen@freescale.com&lt;/A&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do I have the wrong version?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Dec 2015 07:55:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Recovery-doesn-t-have-some-functions/m-p/462387#M72659</guid>
      <dc:creator>lqll</dc:creator>
      <dc:date>2015-12-04T07:55:03Z</dc:date>
    </item>
    <item>
      <title>Re: Recovery doesn't have some functions</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Recovery-doesn-t-have-some-functions/m-p/462388#M72660</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;You can find the simple_dd function here:&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;A class="jive-link-external-small" href="https://github.com/onyx-intl/t80_platform_bootable/blob/master/recovery/updater/install.c#L719" rel="nofollow" style="font-weight: inherit; font-style: inherit; font-family: inherit; color: #017bba;"&gt;t80_platform_bootable/install.c at master · onyx-intl/t80_platform_bootable · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;Same for the sysfs write:&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;A class="jive-link-external-small" href="https://github.com/onyx-intl/t80_platform_bootable/blob/master/recovery/updater/install.c#L675" rel="nofollow" style="font-weight: inherit; font-style: inherit; font-family: inherit; color: #017bba; text-decoration: underline;"&gt;t80_platform_bootable/install.c at master · onyx-intl/t80_platform_bootable · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Gary&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Dec 2015 08:35:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Recovery-doesn-t-have-some-functions/m-p/462388#M72660</guid>
      <dc:creator>gary_bisson</dc:creator>
      <dc:date>2015-12-04T08:35:16Z</dc:date>
    </item>
    <item>
      <title>Re: Recovery doesn't have some functions</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Recovery-doesn-t-have-some-functions/m-p/462389#M72661</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Gary&lt;/P&gt;&lt;P&gt;It works,thank you very much!&lt;/P&gt;&lt;P&gt;Qiulong Li&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Dec 2015 11:42:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Recovery-doesn-t-have-some-functions/m-p/462389#M72661</guid>
      <dc:creator>lqll</dc:creator>
      <dc:date>2015-12-04T11:42:10Z</dc:date>
    </item>
  </channel>
</rss>

