Saat ini, sambil bekerja di laptop saya (amd64), saya sudah bisa mengkompilasi kode melalui SSH di BeagleBone (armhf).
Apa yang saya coba lakukan sekarang, adalah dapat menggunakan IDE apa pun untuk men-debug kode tersebut (Code::Blocks, KDevelop, atau Qt Creator).
Jadi, saya berpikir untuk menjalankan gdbserver
di BeagleBone, dan menghubungkannya, tetapi itu memberi saya kesalahan dengan nilai yang tidak terduga saat membalas. Saya membacanya, dan sepertinya saya perlu membuat executable armhf secara lokal, untuk gdb
proses. Tapi saya kira itu juga membutuhkan gdb
yang berorientasi armhf dibuat untuk amd64, jadi saya mencoba menginstal crossbuild-essential-armhf
. Untuk itu, saya menambahkan arsitektur armhf dengan dpkg --add-architecture armhf
, tetapi kemudian saya tidak dapat melakukan pembaruan apt-get. Saya mendapatkan banyak dari ini:
Err http://security.ubuntu.com trusty-security/main armhf Packages
404 Not Found [IP: 2001:67c:1562::13 80]
Kalau saya cek reponya memang tidak ada armhfnya dimana-mana.
Jadi, apa yang saya lakukan salah? Juga, apakah ini cara yang benar untuk melakukan debug jarak jauh dengan arsitektur yang berbeda, atau adakah cara yang lebih baik untuk melakukannya?
Jawaban yang Diterima:
Ubuntu menggunakan repo terpisah untuk armh (yaitu http://ports.ubuntu.com/
).
Agar berhasil menginstal crossbuild-essential-armhf, Anda harus mengikuti langkah-langkah berikut:
-
jalankan
dpkg --add-architecture armhf
-
tentukan arsitektur yang benar untuk SEMUA baris apt deb Anda di
/etc/apt/sources.list
dan/etc/apt/sources.list.d
, misalnya:deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu trusty main universe deb [arch=armhf] http://ports.ubuntu.com/ trusty main universe
Perhatikan bahwa tidak masuk akal untuk menentukan lengkungan untuk baris deb-src.
3. jalankan apt-get update
4. jalankan apt-get install crossbuild-essential-armhf
Lihat https://wiki.debian.org/Multiarch/HOWTO
Anda mungkin juga ingin menjalankan perintah ini di chroot (atau mungkin wadah buruh pelabuhan) seperti yang disebutkan oleh panduan ini:Memulai MultiArch (armel / armhf) di Ubuntu