Android TVボックスでlibreelecをフラッシュしようとしていますが、libreelecトースターに投げ込める画像がありません。 RPiでは、それは非常に単純でした。ここでは、コンパイルする必要があると思いますが、実際には答えがありません。 S802に基づく以前のボックスのイメージがあります(lakkaバージョン(?)のみが見つかりました)が、S812のlibreelecはありますが、Zip/tarから実際に誰が「コンパイル」するのかわかりませんusb-sd-creatorの画像。見た目より簡単かもしれませんが、ヒントを教えてください!
最初の質問:S812ベースのボードでLibreelecをフラッシュ/コンパイルする方法を知っている人はいますか?
現在の質問:armファームウェアファイルを逆コンパイルして、ボードに別のオペレーティングシステムをインストールするために明らかに必要なデバイスツリーファイルを取得するにはどうすればよいですか?
見る:
トースター: https://libreelec.tv/2016/08/usb-sd-creator/
前のボックスのlakka/libreelecビルド(.img): http://le.builds.lakka.tv/S802.M8.arm/
amlinux.ruからのlibreelecビルド例: S812ベースのボックスの場合: https://mega.nz/#F!W0Qk2JIQ!P1iyw7dFFHvubkIUZ-i1lA!3ohmxIaJ
可能な解決策:
次のページには、Amlogicボード(S805 S905 S905X S912(SDおよびUSB))用の多くのLinuxビルドが含まれています。
可能な解決策:
このページは少し役立ちました。明らかに、新しいビルドには、Androidとlinux(後で説明します)。
多くの人が優れたxz圧縮形式に慣れていないことを知っているので、両方を投稿しています。ニーズに合ったイメージをダウンロードし、Unixのようなシステムからrootとして実行して、CuBox-iの起動に使用するMicroSDカードにダンプします。たとえば、MicroSDカードが/ dev/sddとして表示される場合は、次のようにします。
# dd if=cubox-i.img of=/dev/sdd
参照: https://people.debian.org/~gwolf/
1.)Androidを実行しているTVボックスで、準備したカードをボックスのSDスロットに挿入するか、USBカードリーダーを使用します。注:アクティビティLED付きのカードリーダーを使用するのが好きなので、何かが起こっていることがわかります。最初の起動には数分かかる場合があり、LEDの点滅は安心です。
2.)Android /設定/デバイスについて/システム/アップデート。注:App DrawerにUpdate and Backupアプリがある場合があります。 -Update and Backup Appの[UpdateLocale]セクションで、[Select]をクリックし、aml_autoscript.Zipを選択して、[update]をクリックします。注:[データをワイプ]と[メディアをワイプ]をオフ/オフのままにします。明確にするために、これらのオプションは使用しないでください
3.)TVボックスが再起動します。数回再起動します。最終的に、最初のログインプロンプトが表示されます。初期ログイン資格情報。さまざまな画像のログイン情報については、こちらをご覧ください。
新しいパスワードを選択するよう求められますので、選択してください。新しいユーザーとP/Wを作成するように求められます。
ボックスが再起動します。この起動には少し時間がかかりますが、最終的にはデスクトップに移動します。カードの使用可能なスペースが拡張されない場合は、gparted(インストールが必要な場合があります)を使用してExtパーティションを拡張し、カードを埋めます。
手順は実際よりもはるかに複雑に聞こえます。一度実行すれば、おそらくこのガイドは2回目は必要ありません。
結果:
ポイント3.3に関して);これまで、初期化された「更新」後の唯一の結果は、再起動のたびにHDMI-Signalの損失に遭遇したため、HDMI-Cableに再接続します。 (Android時代のブルースクリーンだと思います...)。
誰かが.dtbファイルの概要サイトを知っている場合は、投稿してください。
結果:
完璧なLinuxエラー
致命的なエラー:Blobのマジック番号が正しくありません
user@user-x:~/Downloads$ unrar x -r ./M8N-M8S_Amlogic_11152015.rar
unrar 0.0.1 Copyright (C) 2004 Ben Asselstine, Jeroen Dekkers
Extracting from /home/user/Downloads/M8N-M8S_Amlogic_11152015.rar
Extracting n200C-ota-20151103.Zip OK
Extracting recovery.img OK
Extracting u-boot.bin OK
Extracting aml_autoscript OK
Extracting factory_update_param.aml OK
Extracting readme.txt OK
All OK
user@user-x:~/Downloads$ split_bootimg.pl recovery.img
Page size: 2048 (0x00000800)
Kernel size: 6065155 (0x005c8c03)
Ramdisk size: 2057152 (0x001f63c0)
Second size: 180224 (0x0002c000)
Board name:
Command line:
Writing recovery.img-kernel ... complete.
Writing recovery.img-ramdisk.gz ... complete.
Writing recovery.img-second.gz ... complete.
user@user-x:~/Downloads$ dtc -I dtb recovery.img-second.gz -O dts -o meson8_tm8.dtd
FATAL ERROR: Blob has incorrect magic number
user@user-x:~/Downloads$ dtc -I dtb recovery.img-second.gz -O dts -o bla.dtd
FATAL ERROR: Blob has incorrect magic number
user@user-x:~/Downloads$
まず、ストックリカバリパーティションを取得します。
PCで、ストックイメージをダウンロードして解凍します。次に、 amlogic unpacker を使用してfirmware.imgファイルを解凍し、ファイルrecovery.PARTITION
を見つけます。
または
Androidデバイス端末、twrpまたはadbなどで、次のように入力します
dd if=/dev/block/recovery of=recovery.PARTITION
recovery.PARTITIONファイルをtermuxホームフォルダーまたはlinuxホームフォルダーに転送します。 DTBファイルはこのファイルに埋め込まれているので、ここで抽出します。すでにgit、python、Perl、wgetなどをtermuxにインストールしていると仮定します。
#Install binwalk
git clone https://github.com/ReFirmLabs/binwalk.git
cd binwalk
python setup.py install
cd ..; rm -Rf binwalk
#Get split_bootimg.pl script
wget https://Gist.githubusercontent.com/jberkel/1087743/raw/45046f87176dfacdc22af4290f89a0d2e0df1dbb/split_bootimg.pl
chmod +x split_bootimg.pl
#Split recovery.PARTITION
./split_bootimg.pl recovery.PARTITION
#Unpack recovery.PARTITION-second.gz
gunzip recovery.PARTITION-second.gz
#Get offset of embedded DTB in recovery.PARTITION-second by searching for bytes D00DFEED
DTBOFFSET=$(binwalk -R "\xD0\x0D\xFE\xED" recovery.PARTITION-second | awk 'NR > 3 { print $1}' | head -n 1)
#Get length of DTB in recovery.PARTITION-second this is next 4 bytes after D00DFEED
DTBLEN=$((16#$(dd if=recovery.PARTITION-second bs=1 skip=$(($DTBOFFSET + 4)) count=4 status=none | od -tx1 | head -n 1 | cut -d ' ' -f 2- | sed 's/ //g' )))
#Now extract and create dtb file
dd if=recovery.PARTITION-second of=mybox.dtb bs=1 skip=$DTBOFFSET count=$DTBLEN