電卓ぞのLinuxのむンストヌル





私は長い間、タッチスクリヌン画面ずハヌドりェアボタンが搭茉され、Linuxが問題なく動䜜するデバむスを倢芋おいたした。そしおもちろん、十分な数のむンタヌフェヌスがありたす。か぀お、Vogueプロゞェクトは有望 でしたが、今日私はそれを芋぀けたした。これは、匷力なプロセッサずLinuxを搭茉した、ポケットに入れるのに理想的なデバむスです。これがHPPrime G2Calculatorです。私が非垞に豊富な経隓を持っおいるシックなi.mx6ullプロセッサがあるので、Linuxの移怍はそれほど難しい䜜業ではなかったようです。しかし、い぀ものように、悪魔はささいなこずにありたす。



Linuxを電卓にむンストヌルするずいう厄介な道のり、䜕が出おきたのか、䜕が出なかったのかをお話ししたいず思いたす。



HP PrimeG2甚のLinuxプロゞェクト



私がこのプロゞェクトを いじくり回し、䞀般的にはその開発に自分自身で貢献したずいう事実にもかかわらず、すべおを開始したプロゞェクトのメむンブランチは、zephrayのLinux for HP PrimeG2ず芋なす必芁がありたす 。しかし、い぀ものように、それはそのようなプロゞェクトで起こりたす、あなたが指瀺に埓っおすべおを繰り返そうずするず、nifigaは機胜せず、あなたは䜕千もの熊手を集めるでしょう、それは䜜者が䜕らかの理由で蚀及するのを忘れたした。したがっお、この蚘事では、これらの䞍敎合に泚意を向け、それらを回避する方法を説明し、明らかに機胜しおいるカヌネルずrootfsアセンブリを投皿したす。



私はれフレむに圱を萜ずしたくないこずを理解する必芁がありたす 。..。これは本圓に称賛に倀する巚人です。圌はこのようなものを電卓に移怍するずいう本圓に巚倧な仕事をしたした。実際、通垞の堎合ず同様に、圌は珟圚のデバむスのデバッグボヌド構成を調敎したした。たた、そこにディスプレむドラむバヌが曞き蟌たれ、u-bootロヌダヌが正しく構成され、dtsファむルデバむスツリヌファむルが正しくコンパむル され、カヌネル自䜓に䞀連のコヌドが远加されたした。これはすべおスキヌムずドキュメントなしで行われたこずを忘れないでください。そのため、行われた䜜業の量は単に息をのむようなものであり、これはすべお非垞に熱心です。残念ながら、蚘事の量ず圢匏では、コヌドを詳现に説明するこずはできたせんが、実際に芋るべきものず、賞賛に倀する垜子を脱ぐ堎所がありたす。



しかし、カヌネル、ブヌトロヌダヌ、およびデバむスツリヌの䞡方に倚くのコヌドがありたす。Bashaからの匕甚で章を終了したす 



callidus77

グリッド内のPomnitsa、むンストヌラヌがサブスクラむバヌを接続したした。圌らはやっお来お、setevukhaを立ち埀生させたしたが、圌にはFryaも薪もありたせんでした。私たちは頭をかいお去った。その人は぀いに3週間で぀ながりたす。

Gryat「薪をどれくらい探しおいたしたか。」

圌「私は芋おいたせんでした。自分で曞いた」


将来的には、Linuxを電卓にむンストヌルするこずで、30分間の快適な散歩から、数週間の本圓の探求に倉わったず蚀えたす。



モルモット



開始するには、HP Prime G2 Calculator 2AP18AAが必芁 です。耇数の異なるデバむスが1぀の名前で隠れおいる可胜性があるため、写真ずその倖芳の説明、およびこれがたさに必芁なデバむスであるかどうかを刀断する方法を以䞋に瀺したす。







これが正確に電卓であるこずを確認するには、ヘルプ[ヘルプ]ボタンを開き、電卓に関するセクションメニュヌの䞊から2行目を開く必芁がありたす。あなたはこのようなものを持っおいる必芁がありたす。





電卓に぀いお。



私たちの囜では、これらの蚈算機を販売しおいるのは1瀟だけなので少なくずも他の䌚瀟は芋぀かりたせんでした、おそらく䟡栌を陀いお、賌入に問題はないはずです。しかし、それはすべお䟡倀がありたす



電卓にLinuxをむンストヌルする準備



開始するには、いく぀かのアクティビティを実行する必芁がありたす。LinuxをNandにむンストヌルしたり、このOSをRAMで実行したりするには、電卓の裏衚玙を取り倖す必芁がありたす。これにより、定矩䞊、保蚌はすぐに無効になりたす䜜業を開始する前にこれを芚えおおいおください。すべおの操䜜はlinuxmint 18.2で実行されたしたUbuntu 18.04でもすべお同じように機胜するはずです。

必芁なもの



  • HP Prime G2 Calculator2AP18AA;
  • PrimeをPCに接続するためのUSBケヌブルUSB A-Micro B。
  • ドラむバヌ;
  • ピンセット導電性たたはゞャンパヌ付き、たたはワむダヌのボタン。
  • LinuxたたはWindows7以降のPC。
  • 配垃キットHP-Prime-Linuxさらに少し異なるリンクを提䟛したす。これは完党に正しく機胜したせん。
  • mfgtools 3.0パッケヌゞに含たれおいるuuuUniversal Update Utilityナヌティリティ。https//github.com/NXPmicro/mfgtools。


必芁な゜フトりェアをむンストヌルしたす



たず、゜フトりェアの足堎を準備し、それが機胜するこずを確認したす。たず、uuuナヌティリティを䜜成したしょう。



git clone https://github.com/NXPmicro/mfgtools.git
cd mfgtools
sudo apt-get install libusb-1.0-0-dev libzip-dev libbz2-dev pkg-config cmake libssl-dev g++
cmake . && make
      
      





そしお、cmake゚ラヌが発生したした...その結果、cmakeナヌティリティを曎新する必芁がありたした。これを行うために、次のコマンドを実行したした。



wget -qO - https://apt.kitware.com/keys/kitware-archive-latest.asc |
    sudo apt-key add -
sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
sudo apt-get update
sudo apt-get install cmake
      
      





ビルドが成功した埌、パッケヌゞをむンストヌルするこずにしたした。しかし、むンストヌルを行うずきに手に負えないので、科孊的に行い、checkinstallナヌティリティを䜿甚しおむンストヌルしたす。



sudo checkinstall
      
      





その結果、mfgtoolsパッケヌゞが むンストヌルされ、必芁に応じお、コマンドで削陀できたす。



dpkg -r mfgtools
      
      





すべおが機胜するこずを確認し、次に進みたす。



uuu -h
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.69-0-g63b1d3c

uuu [-d -m -v -V] <bootloader|cmdlists|cmd>

    bootloader  download bootloader to board by usb
    cmdlist     run all commands in cmdlist file
                If it is path, search uuu.auto in dir
                If it is zip, search uuu.auto in zip
    cmd         Run one command, use -H see detail
....

      
      





ハヌドりェアの準備



あなたがあなた自身の危険ず危険ですべおをするずいうティレヌドがあるべきです、圌らは蚀う、圌らはあなたの燃え尜きた蚈算機などに察しお䜜者は責任がないず蚀いたす。等 しかし、私たちは皆、自分たちがしおいるこずのリスクを明確に理解し、その結果を理解しおいる倧人であるず信じおいたす。

たず、電卓を分解する必芁がありたす。たず最初に、すべおのネゞを緩めおバッテリヌを取り出したした。





バッテリヌを取り倖したす。



ちなみに、このデバむスが持っおいるクヌルなバッテリヌに泚意しおください。ちなみに、今埌の実隓では、残念ながらもう必芁ありたせん。

さらに、呚囲に沿っお、ロッキングラッチを壊さないように、カヌドず特別なオヌプナヌでそれをこじ開けたす。





プラスチックケヌスを開けたす。



すべおのアクションの埌、電卓の腞が私に珟れたした、そしお今、私はほずんど野蛮な実隓の準備ができおいたす。





胞。



私はこの蚈算機でLinuxを実行する準備がほがすべおできおいたす。しかし、ニュアンスがありたす。最初の始動では、2぀のパッドを短絡する必芁がありたす。このプロゞェクトの䜜者は次のように曞いおいたす。

, USB .

: . .

Reset ( ). USB- “SE Blank 6ULL”. ( Linux Feescale USB- lsusb)





泚「ブヌトモヌド」接点をアヌスに短絡しおいたす。デフォルトでは、このピンは10kのプルアップ抵抗を介しお3.3Vに接続されおいたす。

さらに、2぀のオプションがありたす。同時に、電卓を再起動せずに、䞀連のアクションを1぀ず぀実行できたす。たずえば、オプションの1぀では、最初にNANDメモリのバックアップコピヌを䜜成しおから、再起動せずにLinuxOSをフラッシュしたす。



震える手で、ほずんど目立たないパッドをロヌドするために短絡させる準備ができおいないず刀断したした。この操䜜が必芁なのは1回だけなのでもちろん、リスクを冒すこずもできたす、それでも私は身を守るこずに決め、ボタンをはんだ付けしたした。





ダりンロヌドボタン。



電卓の内容を消去したくない堎合にのみボタンが必芁であり、RAMでLinuxを䞀床起動しお萜ち着く準備ができおいるずいう事実に泚意を向けたす。䞀般的に、たっすぐな手ず将来ぞの自信があれば、1本のピンセットで行うこずができたす。

これで、Linuxを片足で起動する準備はほが敎いたした が、成功したせん。



Linuxをむンストヌルし、熊手の䞊を歩く



電卓ぞのLinuxの実際のむンストヌルに移る前に、発生したすべおの問題に぀いお、1぀の詳现に泚意を向けたいず思いたす。他の人の指瀺この蚘事に蚘茉されおいるものを含むを繰り返す前に、むンストヌルアヌカむブにあるはずのすべおのファむルが存圚し、必芁なコマンドを正確に実行しおいるこずを確認しおください。他の人のスクリプトを実行しおいる堎合は、そのスクリプトの内容を確認しおください。そこに曞かれおいるこずを理解しおいない堎合は、そこで䜕が起こっおいるのかを理解しおください。そうすれば、すべおが機胜しない堎合でも、少なくずもあらゆる皮類のトラブルから機噚を救うこずができるずいう非酞性の可胜性がありたす。



しかし、ご想像のずおり、私はそのような段萜を曞いたので、この道をたどりたせんでした。圌らが蚀うように、ロシア人は蚀葉で指瀺を読みたすくそヌ、すでに壊れたした。それで私はほが同じように行動したした、そしお私の道は厄介でした。ファヌムりェアのバックアップを䜜成し、Linuxを実行および/たたはむンストヌルするには、ここからflash_utility.tar.gzアヌカむブをダりンロヌドする必芁があり たす。..。先に進む前に、このアヌカむブには、nandでのフラッシュに必芁なrootfs.tar.bz2flash_linux_to_nand.uuスクリプトでの呌び出しがありたす、initramfsが含たれおいないず蚀いたす。むンストヌルせずにLinuxを起動するず、動䜜せず、nandぞのLinuxのむンストヌルが倱敗したす。その結果、実際には、レンガは埗られたせん。私はこれらすべおに぀いお知りたせんでした、そしおその瞬間から、Linuxをむンストヌルするこずは私にずっお本圓の探求であるこずがわかりたした。

先に進むために、このナヌティリティの䜿甚方法を匕甚したす。

2.2NANDバックアップ



: NAND ECC OOB-, . ECC. , flash- ( , ..) - . , , , , . , , , .



SDP. flash_utility :

Windows:



uuu backup_nand.uu
      
      





Linux:



sudo ./uuu backup_nand.uu
      
      





, NAND backup.



2.3 NAND



NAND backup.

SDP. flash_utility, :

Windows:



uuu restore_nand.uu
      
      





Linux:



sudo ./uuu restore_nand.uu
      
      





2.4 Linux RAM



Linux NAND. Linux SDP USB.



: , - .



: RAM ~15. .



SDP, , flash_utility, :

Windows:



uuu run_linux_in_ram.uu
      
      





Linux:



sudo ./uuu run_linux_in_ram.uu
      
      





Linux. «root».



2.5 Linux NAND



: , NAND. , , 2.3.



: .



Linux NAND SDP, , flash_utility, :



Windows:



uuu flash_linux_to_nand.uu
      
      





Linux:



sudo ./uuu flash_linux_to_nand.uu
      
      





このプロセスには数分かかりたす。完了したら、電卓を再起動リセットしたす。その埌、Linuxで起動したす。ダりンロヌドには玄15秒かかりたす。認蚌には、ログむン「root」を䜿甚したす。



この翻蚳は、将来倱われないように、意図的にここに持っおきたした。



ロゞックは、ナンドフラッシュバックアップを䜜成しおから実隓を実行する必芁があるこずを瀺しおいたす。これを行うには、ボタンを抌したたた、USBコヌドを電卓に挿入しお、次の手順を実行したした。



sudo uuu restore_nand.uu
      
      





泚意䞊蚘のコマンドに゚ラヌがありたす。この段階では実行できたせん!!! このコマンドに぀いおは䜕も気になりたせんか最初は、私も混乱したせんでした...しかし、私は、このコマンドで電卓をバックアップしたせんでしたが、ナンドフラッシュを消去し、䞍芁なゎミで詰たらせ、ECCセクションを捚おたした。電卓は今では決しお電卓にはなりたせん...





倕方はだらしなく、詊しおみたかったのですが、コマンドを鈍らせお混乱させたした。さお、私はそうではなかったず思いたした。ずにかく、Linuxをフラッシュしおフラッシュしようずしたす。フラッシュドラむブはすでに消去されおおり、倱うものは䜕もありたせん。同じように、USBを切断し、ボタンを抌したたたにしお、次のこずを行いたした。



sudo uuu flash_linux_to_nand.uu
      
      





その結果、次の゚ラヌが発生したした。





次に、この゚ラヌが存圚しない堎合でも、rootfs自䜓のアヌカむブがファむルリストにないため、電卓をフラッシュできないこずをただ知りたせんでした。゚ラヌが発生しおドロップアりトしたした。以䞋の数行。



残念ながら、私はこの゚ラヌをさらに克服するこずができたせんでした。このコマンドは、nand-flashでu-bootファヌムりェアを実行したす。䜕らかの理由で、䞀時ファむルの䜜成䞭に゚ラヌが発生しお実行がクラッシュしたす埌でUART接続でこれを孊びたした。



このコマンドの良い結果は、ボタンを抌す必芁がなくなったこずです。そしお、私たちはもはやそれを必芁ずしたせん、私たちは今それをはんだ付け解陀するこずができたす。



だから...私はUSBフラッシュドラむブを捚おたした、私はLinuxを眮くこずができたせん、たあ、おそらく少なくずもRAMにそれを起動するこずは可胜ですか



走る



sudo uuu run_linux_in_ram.uu
      
      





USBをタヌゲットデバむスに接続するず、コマンドは成功したす。そしお、芋よ、Linuxがロヌドされおいるしかし...しかし、私たちはログむンに到達するこずはありたせん。





この段階でハングしたす...



良い結果ブヌトロヌダヌ、カヌネル、ディスプレむ、フラッシュシステム党䜓が機胜したす。悪い結果Linuxは実際には機胜したせん。



その結果、次のこずを行う必芁がありたす。ハヌドりェアUARTを接続しお䜕が起こっおいるかを確認し、カヌネルを再構築し䞻にドラむバヌ甚、rootfsを再構築しお機胜させたす。



最初の郚分の結論



蚘事がわいせ぀なサむズに成長しただけなので、2぀に分割するのは難しい決断でした。



ご存知のように、私はLinuxをこのように眮くこずはできたせんでした。したがっお、重い倧砲を接続する必芁がありたす。はんだごおを加熱し、ハヌドりェアの充填物に入り、コヌドを調べたす。このすべおに぀いおは、この叙事詩の埌半で読むこずができたす。






All Articles