LoginSignup
0
0

More than 3 years have passed since last update.

mac上のqemuでARM-cpuな環境を作ってjavaを動かす【結果→失敗】

Posted at

本内容は結果として構築失敗です。備忘録として残します。

最終的にopenJDK(JRE)は動かせませんでした。

↓以下書こうとしてた内容

ちょっとARMなCPUでしか動かないバイナリがあり、それをmac上で動かしたかった。
まぁmacはIntelなので当然そのままでは無理。

なので、ARMが載ったPCとかを検討したが新規にインストとかするのがちょっとめんどくさいので、エミュを探すと
QEMUというものがあった。(ちなみにラズパイも所持しているがめんど(

qemu arm [raspbian]

ということで構築。
最初はカーネルとかダウンロードして起動させようとしたがめちゃ大変&失敗したので割愛。

なのでこちらを使用させていただいた。
https://github.com/karaage0703/raspbian_on_qemu
https://qiita.com/karaage0703/items/366eb17906a3341f1999
こちらも参考にさせていただきました。ありがとうございます。

sshも使いたかったので、
sudo raspi-configでsshを有効に。
qemuコマンドにポートフォワードを追加

$ qemu-system-arm -kernel kernel-qemu-4.19.50-buster -dtb versatile-pb.dtb -m 256 -M versatilepb -cpu arm1176 -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" -drive file=2019-09-26-raspbian-buster.img,format=raw -no-reboot -net nic -net user,hostfwd=tcp::10022-:22

(ちなみにメモリを256から増やしたかったが、qemuの制限なのかこれが上限みたい)

-net nic -net user,hostfwd=tcp::10022-:22
を追加した。
これでlocalhost -p 10022でsshがつながるようになった。

ディスク拡張

そういえばデフォルトだとディスクサイズが小さいので、aptとかがサイズ無いよ、って止まる。
なのでimgを拡張
qemu-img resize 2019-09-26-raspbian-buster.img +4G
で起動してfdisk
sudo resize2fs /dev/sda2

そこで元々の要件、javaを動かすことだったが、これからが大変。

java

そのままだとjavaがエラーを吐いて動かない。
Server VM is only supported on ARMv7+ VFP
↑こんなエラー

なので色々な記事を参考にしつつ、構築していく。
まずは今のjavaを削除しまくる。(apt removeとかで)

それでもなんか残ってたので、
which /usr/bin/java ls -la /usr/bin/java
とかでjavaの実体を探す。
/usr/lib/jvm/java-9-openjdk-armhf/bin/java
だいたいこのあたりにあるはず。
dpkg -S /usr/lib/jvm/java-9-openjdk-armhf/bin/java
で詳細
openjdk-9-jre-headless:armhf: /usr/lib/jvm/java-9-openjdk-armhf/bin/java
とあったので、apt remove openjdk-9-jre-headless
で消す。

そして再インストールなど行うが、結局上記エラーメッセージが出るだけでJavaを動作させることはできなかった。
諦めて別の方法を模索することとした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0