起動と終了

5.1. 起動

電源入力インターフェース(CON12)に電源を接続すると Armadillo-640 が起動します。

[注記]

USB シリアル変換アダプタのスライドスイッチやユーザースイッチによって起動モードが変わります。 詳しくは 「接続方法」「スライドスイッチの設定について」 を参照してください。

以下に起動ログの例を示します。

U-Boot 2020.04-at15 (Jun 09 2023 - 18:46:32 +0900)

CPU:   i.MX6ULL rev1.1 at 396 MHz
Model: Atmark Techno Armadillo-640
DRAM:  512 MiB
setup_rtc_disarm_alarm: Can't find bus
WDT:   Started with servicing (10s timeout)
PMIC: PFUZE3000 DEV_ID=0x30 REV_ID=0x11
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... OK
In:    mxc_serial
Out:   mxc_serial
Err:   mxc_serial
switch to partitions #0, OK
mmc0(part 0) is current device
flash target is MMC:0
Net:
Warning: ethernet@2188000 using MAC address from ROM
eth0: ethernet@2188000
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0(part 0) is current device
6859976 bytes read in 162 ms (40.4 MiB/s)
Booting from mmc ...
37363 bytes read in 6 ms (5.9 MiB/s)
Loading fdt boot/armadillo.dtb
45 bytes read in 4 ms (10.7 KiB/s)
4587 bytes read in 5 ms (895.5 KiB/s)
Applying fdt overlay: armadillo-640-lcd70ext-l00.dtbo
## Booting kernel from Legacy Image at 80800000 ...
   Image Name:   Linux-5.10.180-2-at
   Created:      2023-06-09   9:48:24 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    6859912 Bytes = 6.5 MiB
   Load Address: 82000000
   Entry Point:  82000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 83500000
   Booting using the fdt blob at 0x83500000
   Loading Kernel Image
   Loading Device Tree to 9ef1d000, end 9ef49fff ... OK

Starting kernel ...


   OpenRC 0.45.2 is starting up Linux 5.10.180-2-at (armv7l)

 * Mounting /proc ... [ ok ]
 * Mounting /run ... * /run/openrc: creating directory
 * /run/lock: creating directory
 * /run/lock: correcting owner
 * Caching service dependencies ... [ ok ]
 * Clock skew detected with `/etc/init.d/devfs'
 * Adjusting mtime of `/run/openrc/deptree' to Sun Jun 11 01:34:52 2023

 * WARNING: clock skew detected!
 * Mounting /sys ... * Remounting devtmpfs on /dev ... [ ok ]
 [ ok ]
 * Mounting security filesystem ... [ ok ]
 * Mounting config filesystem ... [ ok ]
 * Mounting /dev/mqueue ... [ ok ]
 * Mounting /dev/pts ... [ ok ]
 * Mounting /dev/shm ... [ ok ]
fsck_atlog               | * Checking at-log filesystem /dev/mmcblk0gp1 ...  [ ok ]
udev                     | * Starting udev ... [ ok ]
fsck                     | * Checking local filesystems  ... [ ok ]
root                     | * Remounting filesystems ... [ ok ]
localmount               | * Mounting local filesystems ... [ ok ]
overlayfs                | * Preparing overlayfs over / ... [ ok ]
 * WARNING: clock skew detected!
hostname                 | * Setting hostname ... [ ok ]
sysctl                   | * Configuring kernel parameters ... [ ok ]
udev-trigger             | * Generating a rule to create a /dev/root symlink ... [ ok ]
udev-trigger             | * Populating /dev with existing devices through uevents ... [ ok ]
bootmisc                 | * Migrating /var/lock to /run/lock ... [ ok ]
bootmisc                 | * Creating user login records ... [ ok ]
bootmisc                 | * Wiping /var/tmp directory ... [ ok ]
dbus                     | * /run/dbus: creating directory
dbus                     | * /run/dbus: correcting owner
syslog                   | * Starting busybox syslog ...  [ ok ]
dbus                     | * Starting System Message Bus ... [ ok ]
klogd                    | * Starting busybox klogd ... [ ok ]
networkmanager           | * Starting networkmanager ... [ ok ]
dnsmasq                  | * /var/lib/misc/dnsmasq.leases: creating file
dnsmasq                  | * /var/lib/misc/dnsmasq.leases: correcting owner
dnsmasq                  | * Starting dnsmasq ... [ ok ]
 * WARNING: clock skew detected!
buttond                  | * Starting button watching daemon ... [ ok ]
reset_bootcount          | * Resetting bootcount in bootloader env ... [ ok ]
podman-atmark            | * Starting configured podman containers ...Environment OK, copy 1
reset_bootcount          | [ ok ]
zramswap                 | [ ok ]
zramswap                 | * Creating zram swap device ...  [ ok ]
chronyd                  | * Starting chronyd ... [ ok ]
local                    | * local: waiting for chronyd (50 seconds)
local                    | * Starting local ... [ ok ]

Welcome to Alpine Linux 3.17
Kernel 5.10.180-2-at on an armv7l (/dev/ttymxc0)

armadillo login:

5.2. ログイン

起動が完了するとログインプロンプトが表示されます。「root」か一般ユーザーの「atmark」でログインすることができます。

「SWUイメージの作成」 の手順で initial_setup.swu を適用した Armadillo の 「root」、「atmark」ユーザーには、 initial_setup.swu 作成時に入力したパスワードが設定されます。

initial_setup.swu を適用しない場合、「root」ユーザーは初回ログイン時にパスワードを入力せずに新しいパスワードを促されます。 「atmark」ユーザーは、初期状態ではロックされています。そのロックを解除するには、「root」ユーザーでログインし、 passwd atmark コマンドで「atmark」ユーザーのパスワードを設定してください。

設定するパスワードには大文字のアルファベット、小文字のアルファベット、0から9までの数字、その他(記号・句読点など)を含める事ができます。

  1. root でログイン

    初期パスワードを変更します。

    armadillo login: root
    You are required to change your password immediately (administrator enforced).
    New password: 1
    Retype new password: 2
    Welcome to Alpine!

    1

    新しいパスワードを入力します

    2

    新しいパスワードを再入力します

  2. atmark でログイン

    初期状態でロックされてますので、rootで一度パスワードを設定してからログインします。

    armadillo:~# passwd atmark 1
    New password:
    Retype new password:
    passwd: password updated successfully
    armadillo:~# persist_file /etc/shadow 2
    armadillo:~# exit
    
    Welcome to Alpine Linux 3.17
    Kernel 5.10.180-1-at on an armv7l (/dev/ttymxc0)
    
    armadillo login: atmark
    Password: 3
    Welcome to Alpine!

    1

    atmarkユーザーのパスワード変更コマンド。「SWUイメージの作成」 を使用した場合には不要です

    2

    パスワードファイルを永続化します。

    3

    設定したパスワードでログインすることができます。

[重要項目]

Armadillo BaseOS ではルートファイルシステムに overlayfs を採用しており、そのままではシステムが OFF すると内容は消えてしまいます。そのため persist_file コマンドが用意されています。このコマンドを利用することでファイル単位で変更を反映することができます。パスワードを設定した後には以下のコマンドを実行してください。

[armadillo ~]# persist_file /etc/shadow

persist_file コマンドに関する詳細は「overlayfs と persist_file について」を参照してください。

5.3. 終了方法

eMMC や USB メモリ等に書き込みを行っている時に電源を切断すると、データが破損する可能性が有ります。 安全に終了させる場合は、次のように poweroff コマンドを実行し、「reboot: Power down」と表示されたのを確認してから電源を切断します。

armadillo:~# poweroff
 * WARNING: clock skew detected!
podman-atmark            | * Stopping all podman containers ...  [ ok ]
zramswap                 | * Deactivating zram swap device ... [ ok ]
local                    | * Stopping local ... [ ok ]
chronyd                  | * Stopping chronyd ... [ ok ]
dnsmasq                  | * Stopping dnsmasq ... [ ok ]
klogd                    | * Stopping busybox klogd ... [ ok ]
buttond                  | * Stopping button watching daemon ... [ ok ]
networkmanager           | * Stopping networkmanager ... [ ok ]
syslog                   | * Stopping busybox syslog ... [ ok ]
udev                     | * Stopping udev ... [ ok ]
dbus                     | * Stopping System Message Bus ... [ ok ]
nm-dispatcher: Caught signal 15, shutting down...
localmount               | * Unmounting loop devices
localmount               | * Unmounting filesystems
localmount               | *   Unmounting /var/at-log ... [ ok ]
localmount               | *   Unmounting /var/tmp ... [ ok ]
localmount               | *   Unmounting /var/app/volumes ... [ ok ]
localmount               | *   Unmounting /var/app/rollback/volumes ... [ ok ]
localmount               | *   Unmounting /var/lib/containers/storage_readonly ... [ ok ]
localmount               | *   Unmounting /var/log ... [ ok ]
localmount               | *   Unmounting /tmp ... [ ok ]
killprocs                | * Terminating remaining processes ... [ ok ]
killprocs                | * Killing remaining processes ... [ ok ]
mount-ro                 | * Remounting remaining filesystems read-only ... [ ok ]
mount-ro                 | *   Remounting / read only ... [ ok ]
indicator_signals        | * Signaling external devices we are shutting down ... [ ok ]
The system is going down NOW!
Sent SIGTERM to all processes
Sent SIGKILL to all processes
Requesting system poweroff
[  274.621389] imx2-wdt 20bc000.watchdog: Device shutdown: Expect reboot!
[  274.628443] reboot: Power down

Podman コンテナの保存先が tmpfs であり、eMMC への書き込みを行っていない場合は、poweroff コマンドを使用せずに電源を切断することが可能です。

Podman コンテナの保存先が eMMC の場合や、頻繁に rootfs 等の eMMC にあるボリュームを変更するような開発段階においては、poweroff コマンドを実行し、「reboot: Power down」と表示されたのを確認してから電源を切断してください。

[警告]

haltコマンドで終了させた場合、「reboot: System halted」と表示されてから約128秒後、Armadilloは自動的に再起動します。確実に終了させるためにもpoweroffコマンドを利用してください。

[ティップ]

poweroffの場合、Armadillo-640は、ONOFFピンをGNDとショートすることで電源をオフした場合と同じ状態になります。 そのため、RTC_BAT ピンからバックアップ電源が供給されている限り、5V 電源を切ったのち 5V 電源を再入力してもArmadillo-640が起動しません。 詳しくは「ONOFFピンの制御について」を参照してください。