News Ticker

Docker gira su cpu ARM a 64bit di alto profilo

docker-top-logo

In questi giorni, Dieter Reuter (un utente molto attivo nella community Docker), ha messo le mani su una nuova Nvidia ShieldTV.

Per chi non la conoscesse, la ShieldTV è una console per il gaming, basata su Android, di fascia alta; tutto ruota intorno l’impressionante chip Nvidia Tegra X1, composto da una CPU ARMv8 (64bit) con 8 core, 3GB di memoria e 256 Maxwell GPU.

nvidia-tegra-x1-chip

La procedura adottata per far girare Docker su questa piattaforma è stata tutt’altro che semplice.

Per prima cosa, è stata scaricata la distribuzione Nvidia Linux For Tegra (L4T), una distribuzione basata su Ubuntu 14.04 fornita direttamente da Nvidia per gli sviluppatori.
L’amara scoperta è stata che quella distribuzione usa un kernel a 64bit, ma fornisce un root filesystem a 32.
Dieter ha quindi creato un root filesystem direttamente dall’upstream di Debian Jessie, compilato per l’architettura ARM64. Unendolo con il kernel a 64bit fornito da Nvidia, è riuscito ad avviare lo ShieldTV in un sistema a 64bit puro.

nvidia-shieldtv-running-hypriotos-htop

Questo, insieme ad altro lavoro per sistemare problemi network e settaggi di Systemd, ha portato ad un’update di HypriotOS, un OS Linux basato su architettura ARM (che Dieter manteneva per l’esecuzione su Raspberry Pi), e con tutto il necessario per l’esecuzione di Docker.

Infine, dopo aver compilato Go 1.5.1 e le relative dipendenze per l’architettura, è riuscito a far girare l’ultimo Docker v1.10.0-dev.

L’unico limite attuale è dato dal kernel fornito da Nvidia, che essendo basato sulla versione 3.10.61, non contiene ancora le ottimizzazioni necessarie all’esecuzione di Docker.

Insomma, comunque è stato fatto un grande lavoro, che come di consueto mostra l’incredibile malleabilità dei software open. Con un pò di tempo e voglia di capire, possiamo costruirci esattamente quello che ci serve!

Se siete interessati a leggere la storia nel dettaglio, rimandiamo al post del blog sul sito hypriot.com.