====== Singularity container を使う ======
MA-S1xx v5.4.0α1(for Singularity) より、[[https://sylabs.io/|Singularity container]] を組み込みました。\\
1ファイル で構成される可搬性の高いコンテナ環境を使用することができます。
\\
===== 例 =====
user1@gemini:~$ cat /etc/version
MA-S1xx[Singularity] firmware version 5.4.0alpha1 (Mon Dec 13 16:00:37 JST 2021)
user1@gemini:~$ singularity version
3.9.2
user1@gemini:~$ ls -l /var/lib/containers/alpine32.sif
-rwxr-xr-x 1 user1 user1 2420736 Dec 13 10:59 /var/lib/containers/alpine32.sif <----- Alpine Linux のコンテナファイル、1ファイルのみコピーすればOK
user1@gemini:~$ singularity exec /var/lib/containers/alpine32.sif cat /etc/alpine-release
3.14.3
user1@gemini:~$ singularity shell /var/lib/containers/alpine32.sif
Singularity> ls /etc
alpine-release group issue modules-load.d os-release protocols shells
apk hostname localtime motd passwd resolv.conf ssl
conf.d hosts logrotate.d mtab periodic securetty sysctl.conf
crontabs init.d modprobe.d network profile services sysctl.d
fstab inittab modules opt profile.d shadow udhcpd.conf
Singularity> cat /etc/alpine-release
3.14.3
Singularity>
\\
LXC, Docker などと異なり、ネットワークやデバイスなどが隔離されておらずそのままアクセスすることが可能です。
Singularity> ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:80:6D:A3:00:4A
inet addr:172.16.1.18 Bcast:172.16.1.255 Mask:255.255.255.0
inet6 addr: fe80::280:6dff:fea3:4a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2391 errors:0 dropped:1594 overruns:0 frame:0
TX packets:498 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:140865 (137.5 KiB) TX bytes:48851 (47.7 KiB)
Interrupt:29 Base address:0x8000
Singularity> ls /sys/class/leds/
DO0 MobileLED_G2 Mobile_SLEEP WL_RESET system-status1:r
DO1 MobileLED_R1 PowerLED mmc0:: system-status2:g
MSP430_RST MobileLED_R2 ULP_WAKEUP mmc1:: system-status2:r
MSP430_TEST Mobile_PWRKEY WLAN_G power-stat:r system-status3:g
MobileLED_G1 Mobile_RESETN WLAN_R system-status1:g system-status3:r
Singularity> ls -l /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 Dec 13 16:03 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 Dec 13 16:03 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 2 Dec 13 16:03 /dev/ttyUSB2
crw-rw---- 1 root dialout 188, 3 Dec 13 16:31 /dev/ttyUSB3
\\