## Android上のLinux、Androidの下のLinux 先日、会社の同僚の若手と話をしていて、「そもそも、AndroidってLinuxの上で動いてるねんで。Linuxの上に皮を被せてスマホやタブレットなどのOSにしたててるんよ。」と言うと、「え、知りませんでした。」と言われて、えー、知らんのん?え、違ったっけ?若手とは言え、技術系の子なのに。。。もしかして、今はすっかり中身が変わってるの?などと思って、わざわざWikipediaで確認しました。 {{:825px-androidのアーキテクチャ_new_.png?400|}} [Android (オペレーティングシステム)](https://ja.wikipedia.org/wiki/Android_%28%E3%82%AA%E3%83%9A%E3%83%AC%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%29)の「3 構成」の図 ちゃんと、Linuxの上に載っているような階層図がありました。ですよね。記憶違いかと思いました。 そう、GoogleがAndroidを出して来たときに、そんな、汎用OSをベースにケータイなんて作って、(動作が)重たいんちゃうん、って思っていたことを思い出しました。実際、初めてのスマホは動きがもっさりしていましたね。 今日、こんな記事を書いているのは、以下の記事を読んだから。 [Playストアからダウンロードできるもう1つのAndroid上Linux!「UserLAnd」](https://pc.watch.impress.co.jp/docs/column/nishikawa/1415900.html) ここで、また、え、Androidって元々Linuxの上で動いてるもんやん。なのに、「Android上のLinux!」だって。 ま、ひとまず、自分のスマホにインストールしてみて、ログインはしてみたが、、、スマホ上の文字入力だけで使うにはちょっと...なので、キーボードをつないで試してみようと思って、早速、アマゾンでUSB Type-Cのハブを購入。 Androidスマホ(OPPO A5 2020)では認識せず? Androidタブレット(BMAX I10)では認識した。Windows PC(ASUS ZenBook 14)も大丈夫。 あらためて、AndroidタブレットにUserLAndをインストール。 ログイン後、 ``` $ sudo apt update $ sudo apt upgrade $ sudo apt install net-tools $ sudo apt install ssh ``` など実施。自宅サーバにSSHでログインできた。 ただ、一旦、ディスプレイOFFした後など、USBハブの認識が外れるような感じで、抜き差しなどすると再認識する、というところ。 さて、ここで、UnixBenchというベンチマークプログラムを動かしてみる。Jetson NanoやRaspberry Pi4などと比べてどうかちょっと試してみるということで。 ``` $ sudo apt install git make gcc $ git clone https://github.com/kdlucas/byte-unixbench $ cd byte-unixbench/UnixBench $ ./Run ``` ``` $ sudo apt install keyboard-configuration $ sudo dpkg-reconfigure keyboard-configuration ```