Home  >  Edison  >  Current State

Miscellaneous functions

systemd

Click to unfold: Systemctl output

root@edison:~# systemctl -all

UNIT                                         LOAD      ACTIVE   SUB       DESCRIPTION               
boot.automount                         loaded    active   waiting   boot.automount                  
factory.automount                      loaded    active   waiting   factory.automount               
home.automount                         loaded    active   running   home.automount                  
media-sdcard.automount                 loaded    inactive dead      Automount for SDCard            
dev-mmcblk0.device                     loaded    active   plugged   /dev/mmcblk0                    
dev-mmcblk0boot0.device                loaded    active   plugged   /dev/mmcblk0boot0               
dev-mmcblk0boot1.device                loaded    active   plugged   /dev/mmcblk0boot1               
dev-mmcblk0p1.device                   loaded    active   plugged   /dev/mmcblk0p1                  
dev-mmcblk0p10.device                  loaded    active   plugged   /dev/mmcblk0p10                 
dev-mmcblk0p2.device                   loaded    active   plugged   /dev/mmcblk0p2                  
dev-mmcblk0p3.device                   loaded    active   plugged   /dev/mmcblk0p3                  
dev-mmcblk0p4.device                   loaded    active   plugged   /dev/mmcblk0p4                  
dev-mmcblk0p5.device                   loaded    active   plugged   /dev/mmcblk0p5                  
dev-mmcblk0p6.device                   loaded    active   plugged   /dev/mmcblk0p6                  
dev-mmcblk0p7.device                   loaded    active   plugged   /dev/mmcblk0p7                  
dev-mmcblk0p8.device                   loaded    active   plugged   /dev/mmcblk0p8                  
dev-mmcblk0p9.device                   loaded    active   plugged   /dev/mmcblk0p9                  
dev-mmcblk1.device                     loaded    active   plugged   /dev/mmcblk1                    
dev-mmcblk1p1.device                   loaded    inactive dead      dev-mmcblk1p1.device            
dev-rfkill.device                      loaded    active   plugged   /dev/rfkill                     
dev-sda.device                         loaded    active   plugged   USB_Flash_Drive                 
dev-ttyS1.device                       loaded    active   plugged   Merrifield Serial IO HSUART Cont
dev-ttyS2.device                       loaded    active   plugged   Merrifield Serial IO HSUART Cont
dev-ttyS3.device                       loaded    active   plugged   /dev/ttyS3                      
sys-module-configfs.device             loaded    active   plugged   /sys/module/configfs            
sys-subsystem-bluetooth-devices-hci0.device
				   loaded    active   plugged   /sys/subsystem/bluetooth/devices
sys-subsystem-net-devices-enp0s17u1u1.device
				   loaded    active   plugged   SMSC9512/9514 Fast Ethernet Adap
sys-subsystem-net-devices-sit0.device  loaded    active   plugged   /sys/subsystem/net/devices/sit0 
sys-subsystem-net-devices-wlan0.device loaded    active   plugged   Merrifield SD/SDIO/eMMC Controll
-.mount                                loaded    active   mounted   Root Mount                      
boot.mount                             loaded    inactive dead      /boot                           
dev-hugepages.mount                    loaded    active   mounted   Huge Pages File System          
dev-mqueue.mount                       loaded    active   mounted   POSIX Message Queue File System 
factory.mount                          loaded    inactive dead      /factory                        
home.mount                             loaded    active   mounted   /home                           
media-sdcard.mount                     loaded    inactive dead      Mount for SDCard                
run-user-0.mount                       loaded    active   mounted   /run/user/0                     
sys-fs-fuse-connections.mount          loaded    inactive dead      FUSE Control File System        
sys-kernel-config.mount                loaded    active   mounted   Kernel Configuration File System
sys-kernel-debug.mount                 loaded    active   mounted   Kernel Debug File System        
tmp.mount                              loaded    active   mounted   Temporary Directory (/tmp)      
var-lib-machines.mount                 loaded    inactive dead      Virtual Machine and Container St
var-volatile.mount                     loaded    active   mounted   /var/volatile                   
systemd-ask-password-console.path      loaded    active   waiting   Dispatch Password Requests to Co
systemd-ask-password-wall.path         loaded    active   waiting   Forward Password Requests to Wal
init.scope                             loaded    active   running   System and Service Manager      
session-c1.scope                       loaded    active   running   Session c1 of user root         
session-c2.scope                       loaded    active   running   Session c2 of user root         
session-c3.scope                       loaded    active   running   Session c3 of user root         
session-c4.scope                       loaded    active   running   Session c4 of user root         
ap-mode-toggle.service                 loaded    inactive dead      Start or stop WiFI AP Mode in Ed
● apt-daily.service                    loaded    failed   failed    Daily apt download activities   
● auditd.service                       not-found inactive dead      auditd.service                  
avahi-daemon.service                   loaded    active   running   Avahi mDNS/DNS-SD Stack         
● battery-voltage.service              loaded    failed   failed    Battery Voltage daemon          
blink-led.service                      loaded    active   running   Edison Arduino board LED Blinker
busybox-klogd.service                  loaded    active   running   Kernel Logging Service          
busybox-syslog.service                 loaded    active   running   System Logging Service          
cleanjournal.service                   loaded    inactive dead      Cleanjournal service            
connman.service                        loaded    active   running   Connection service              
crashlog.service                       loaded    inactive dead      Crashlog service                
dbus.service                           loaded    active   running   D-Bus System Message Bus        
● display-manager.service              not-found inactive dead      display-manager.service         
edison_config.service                  loaded    inactive dead      The Edison status and configurat
emergency.service                      loaded    inactive dead      Emergency Shell                 
getty@tty1.service                     loaded    active   running   Getty on tty1                   
initrd-cleanup.service                 loaded    inactive dead      Cleaning Up and Shutting Down Da
initrd-parse-etc.service               loaded    inactive dead      Reload Configuration from the Re
initrd-switch-root.service             loaded    inactive dead      Switch Root                     
initrd-udevadm-cleanup-db.service      loaded    inactive dead      Cleanup udevd DB                
kmod-static-nodes.service              loaded    inactive dead      Create list of required static d
ldconfig.service                       loaded    inactive dead      Rebuild Dynamic Linker Cache    
mcu_fw_loader.service                  loaded    inactive dead      Daemon to load edison mcu app bi
● mdns.service                         not-found inactive dead      mdns.service                    
mosquitto.service                      loaded    inactive dead      Mosquitto - lightweight server i
ofono.service                          loaded    active   running   Telephony service               
● plymouth-quit-wait.service           not-found inactive dead      plymouth-quit-wait.service      
● plymouth-start.service               not-found inactive dead      plymouth-start.service          
pwr-button-handler.service             loaded    inactive dead      Edison PWR button handler       
rc-local.service                       loaded    inactive dead      /etc/rc.local Compatibility     
rescue.service                         loaded    inactive dead      Rescue Shell                    
resize-rootfs.service                  loaded    inactive dead      Increases rootfs image size to f
run-postinsts.service                  loaded    inactive dead      Run pending postinsts           
serial-getty@ttyS2.service             loaded    active   running   Serial Getty on ttyS2           
sketch-check.service                   loaded    inactive dead      Edison sketch check service     
● sshd.service                         not-found inactive dead      sshd.service                    
sshdgenkeys.service                    loaded    active   exited    OpenSSH Key Generation          
systemd-ask-password-console.service   loaded    inactive dead      Dispatch Password Requests to Co
systemd-ask-password-wall.service      loaded    inactive dead      Forward Password Requests to Wal
systemd-firstboot.service              loaded    inactive dead      First Boot Wizard               
systemd-fsck-root.service              loaded    inactive dead      File System Check on Root Device
systemd-fsck@dev-mmcblk0p9.service     loaded    inactive dead      File System Check on /dev/mmcblk
systemd-hwdb-update.service            loaded    inactive dead      Rebuild Hardware Database       
systemd-initctl.service                loaded    inactive dead      /dev/initctl Compatibility Daemo
systemd-journal-catalog-update.service loaded    inactive dead      Rebuild Journal Catalog         
systemd-journal-flush.service          loaded    active   exited    Flush Journal to Persistent Stor
systemd-journald.service               loaded    active   running   Journal Service                 
systemd-logind.service                 loaded    active   running   Login Service                   
systemd-machine-id-commit.service      loaded    inactive dead      Commit a transient machine-id on
systemd-modules-load.service           loaded    inactive dead      Load Kernel Modules             
systemd-networkd-wait-online.service   loaded    active   exited    Wait for Network to be Configure
systemd-networkd.service               loaded    active   running   Network Service                 
systemd-quotacheck.service             loaded    inactive dead      File System Quota Check         
systemd-random-seed.service            loaded    active   exited    Load/Save Random Seed           
systemd-remount-fs.service             loaded    active   exited    Remount Root and Kernel File Sys
systemd-resolved.service               loaded    inactive dead      Network Name Resolution         
systemd-rfkill.service                 loaded    inactive dead      Load/Save RF Kill Switch Status 
systemd-sysctl.service                 loaded    active   exited    Apply Kernel Variables          
systemd-sysusers.service               loaded    inactive dead      Create System Users             
systemd-timesyncd.service              loaded    active   running   Network Time Synchronization    
systemd-tmpfiles-clean.service         loaded    inactive dead      Cleanup of Temporary Directories
systemd-tmpfiles-setup-dev.service     loaded    active   exited    Create Static Device Nodes in /d
systemd-tmpfiles-setup.service         loaded    active   exited    Create Volatile Files and Direct
systemd-udev-trigger.service           loaded    active   exited    udev Coldplug all Devices       
systemd-udevd.service                  loaded    active   running   udev Kernel Device Manager      
systemd-update-done.service            loaded    inactive dead      Update is Completed             
systemd-update-utmp-runlevel.service   loaded    inactive dead      Update UTMP about System Runleve
systemd-update-utmp.service            loaded    active   exited    Update UTMP about System Boot/Sh
systemd-user-sessions.service          loaded    active   exited    Permit User Sessions            
systemd-vconsole-setup.service         loaded    inactive dead      Setup Virtual Console           
user@0.service                         loaded    active   running   User Manager for UID 0          
var-volatile-cache.service             loaded    inactive dead      Bind mount volatile /var/cache  
var-volatile-lib.service               loaded    inactive dead      Bind mount volatile /var/lib    
var-volatile-spool.service             loaded    inactive dead      Bind mount volatile /var/spool  
var-volatile-srv.service               loaded    inactive dead      Bind mount volatile /srv        
watchdog-sample.service                loaded    active   running   Watchdog sample daemon          
wpa_supplicant.service                 loaded    active   running   WPA supplicant                  
-.slice                                loaded    active   active    Root Slice                      
system-getty.slice                     loaded    active   active    system-getty.slice              
system-serial\x2dgetty.slice           loaded    active   active    system-serial\x2dgetty.slice    
system-sshd.slice                      loaded    active   active    system-sshd.slice               
system-systemd\x2dfsck.slice           loaded    active   active    system-systemd\x2dfsck.slice    
system.slice                           loaded    active   active    System Slice                    
user-0.slice                           loaded    active   active    User Slice of root              
user.slice                             loaded    active   active    User and Session Slice          
avahi-daemon.socket                    loaded    active   running   Avahi mDNS/DNS-SD Stack Activati
dbus.socket                            loaded    active   running   D-Bus System Message Bus Socket 
sshd.socket                            loaded    active   listening sshd.socket                     
syslog.socket                          loaded    active   running   Syslog Socket                   
systemd-initctl.socket                 loaded    active   listening /dev/initctl Compatibility Named
systemd-journald-audit.socket          loaded    active   running   Journal Audit Socket            
systemd-journald-dev-log.socket        loaded    active   running   Journal Socket (/dev/log)       
systemd-journald.socket                loaded    active   running   Journal Socket                  
systemd-networkd.socket                loaded    active   running   Network Service Netlink Socket  
systemd-rfkill.socket                  loaded    active   listening Load/Save RF Kill Switch Status 
systemd-udevd-control.socket           loaded    active   running   udev Control Socket             
systemd-udevd-kernel.socket            loaded    active   running   udev Kernel Socket              
basic.target                           loaded    active   active    Basic System                    
bluetooth.target                       loaded    active   active    Bluetooth                       
● cryptsetup.target                    not-found inactive dead      cryptsetup.target               
emergency.target                       loaded    inactive dead      Emergency Mode                  
getty-pre.target                       loaded    inactive dead      Login Prompts (Pre)             
getty.target                           loaded    active   active    Login Prompts                   
graphical.target                       loaded    inactive dead      Graphical Interface             
initrd-fs.target                       loaded    inactive dead      Initrd File Systems             
initrd-root-device.target              loaded    inactive dead      Initrd Root Device              
initrd-root-fs.target                  loaded    inactive dead      Initrd Root File System         
initrd-switch-root.target              loaded    inactive dead      Switch Root                     
initrd.target                          loaded    inactive dead      Initrd Default Target           
local-fs-pre.target                    loaded    active   active    Local File Systems (Pre)        
local-fs.target                        loaded    active   active    Local File Systems              
machines.target                        loaded    active   active    Containers                      
multi-user.target                      loaded    active   active    Multi-User System               
network-online.target                  loaded    active   active    Network is Online               
network-pre.target                     loaded    inactive dead      Network (Pre)                   
network.target                         loaded    active   active    Network                         
nss-lookup.target                      loaded    active   active    Host and Network Name Lookups   
nss-user-lookup.target                 loaded    inactive dead      User and Group Name Lookups     
paths.target                           loaded    active   active    Paths                           
remote-fs-pre.target                   loaded    inactive dead      Remote File Systems (Pre)       
remote-fs.target                       loaded    active   active    Remote File Systems             
rescue.target                          loaded    inactive dead      Rescue Mode                     
shutdown.target                        loaded    inactive dead      Shutdown                        
slices.target                          loaded    active   active    Slices                          
sockets.target                         loaded    active   active    Sockets                         
swap.target                            loaded    active   active    Swap                            
sysinit.target                         loaded    active   active    System Initialization           
● syslog.target                        not-found inactive dead      syslog.target                   
time-sync.target                       loaded    active   active    System Time Synchronized        
timers.target                          loaded    active   active    Timers                          
umount.target                          loaded    inactive dead      Unmount All Filesystems         
apt-daily.timer                        loaded    active   waiting   Daily apt download activities   
systemd-tmpfiles-clean.timer           loaded    active   waiting   Daily Cleanup of Temporary Direc

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

253 loaded units listed.

sshd

sshd starts automatically and allows login with the root account without password

systemctl start blink-led starts the blinking LED.

fw_setenv / fw_printenv

fw_setenv / fw_printenv allow accessing U-Boot variables just like setenv / printenv from the U-Boot console do.

Click to unfold: Fw_printenv output

root@edison:~# fw_printenv 

audio_codec_name=audio_codec="dummy"
boot_edsboot=if env exists cpio ; then zboot 0x100000 0 0x3000000 0x1000000 ; else zboot 0x100000 ; fi ;
boot_target_cmd=run do_flash_os;run do_probe_dfu;run do_compute_target;run mmc-bootargs;run load_kernel;zboot ${loadaddr}
bootargs=quiet debugshell=10 tty1 console=ttyS2,115200n8 root=/dev/sda rootfstype=ext4 systemd.unit=multi-user.target hardware_id=00
bootargs_console=console=ttyS2,115200n8 earlyprintk=ttyS2,115200n8,keep
bootargs_debug=loglevel=4 acpi=on
bootargs_edsboot=tty1 console=ttyS2,115200n8 root=/dev/mmcblk1 rootfstype=ext4 systemd.unit=multi-user.target hardware_id=00
bootargs_ethconfig=cdc
bootargs_target=multi-user
bootargs_usbboot=debugshell=10 tty1 console=ttyS2,115200n8 root=/dev/sda rootfstype=ext4 systemd.unit=multi-user.target hardware_id=00
bootcmd=echo "Target:${target_name}"; run do_partition; run do_handle_bootargs_mode;
bootdelay=1
dfu_alt_info=ifwi00 raw 0 8192 mmcpart 1;ifwib00 raw 0 8192 mmcpart 2;u-boot0 part 0 1;u-boot-env0 part 0 2;u-boot1 part 0 3;u-boot-env1 part 0 4;boot part 0 7;rootfs part 0 8;update part 0 9;home part 0 10;bzImage-initramfs-edison.bin fat 0 7;initrd fat 0 7
dfu_alt_info_ram=kernel ram ${loadaddr} 0x800000
dfu_alt_info_reset=reset ram 0x0 0x0
dfu_to_sec=3
do_audio_support=setenv audio_support platform_mrfld_audio.${audio_codec_name}
do_boot=run boot_target_cmd;
do_bootargs_rootfs=setenv bootargs_rootfs root=/dev/mmcblk0p8 rootfstype=ext4
do_compute_target=if itest.b ${first_install_retry} -gt ${first_install_max_retries} || itest.b ${ota_update_retry} -gt ${ota_update_max_retries}; then echo "Switch to Rescue target"; setenv bootargs_target rescue; saveenv; fi
do_dfu_alt_info_ifwi=setenv dfu_alt_info "ifwi${hardware_id} raw 0 8192 mmcpart 1;ifwib${hardware_id} raw 0 8192 mmcpart 2"
do_dfu_alt_info_mmc=setenv dfu_alt_info "ifwi${hardware_id} raw 0 8192 mmcpart 1;ifwib${hardware_id} raw 0 8192 mmcpart 2;u-boot0 part 0 1;u-boot-env0 part 0 2;u-boot1 part 0 3;u-boot-env1 part 0 4;boot part 0 7;rootfs part 0 8;update part 0 9;home part 0 10;bzImage-initramfs-edison.bin fat 0 7;initrd fat 0 7"
do_dnx=setenv dfu_alt_info ${dfu_alt_info_ram};dfu 0 ram 0 ram;run bootcmd
do_fallback=echo "Unknown boot mode: $bootargs_mode"; env delete -f bootargs_mode; saveenv; echo "Resetting to default boot mode and reboot..."; reset;
do_flash=run do_force_flash_os;
do_flash_ifwi=run do_dfu_alt_info_ifwi ; dfu 0 mmc 0
do_flash_os=if itest.b ${do_flash_os_done} -eq 1 ; then echo "Flashing already done..." ; else run do_force_flash_os; fi
do_flash_os_done=1
do_flashall=run do_partition;run do_flash_ifwi;run do_flash_os
do_force_flash_os=run do_dfu_alt_info_mmc ; sleep 1 ; setenv do_flash_os_done 1 ; saveenv ; dfu 0 mmc 0
do_force_partition=echo "Partitioning using GPT"; gpt write mmc 0 ${partitions} ; mmc rescan; setenv do_partition_done 1 ; saveenv
do_handle_bootargs_mode=run do_preprocess_bootargs_mode; if itest.s $bootargs_mode == "usb" ; then run usbboot; fi; if itest.s $bootargs_mode == "boot" ; then run do_boot; fi; if itest.s $bootargs_mode == "flash"; then run do_flash; fi; run do_fallback; exit;
do_load_ota_scr=if fatload mmc 0:9 $ota_script_addr ota_update.scr ; then setenv ota_status 0 ; else setenv ota_status 1 ; fi
do_ota=run do_ota_init ; run do_load_ota_scr ; run do_source_ota_scr ; run do_ota_clean
do_ota_clean=saveenv ; reset
do_ota_init=setenv ota_status 1 ; env delete -f bootargs_mode
do_partition=if itest.b ${do_partition_done} -eq 1; then echo "Partitioning already done..."; else run do_force_partition ; fi
do_partition_done=1
do_preprocess_bootargs_mode=if env exists bootargs_mode ; then ; else setenv bootargs_mode "boot" ;fi;
do_probe_dfu=run do_dfu_alt_info_mmc ; dfu 0 mmc 0 ${dfu_to_sec}
do_source_ota_scr=if test $ota_status -eq 0 ; then if source $ota_script_addr ; then setenv ota_status 0 ; else setenv ota_status 2 ; fi ; fi
edsboot=setenv bootargs ${acpi} ${bootargs_edsboot}; run load_edsboot; run boot_edsboot
fdtcontroladdr=3d45ac60
first_install_max_retries=3
first_install_retry=0
hardware_id=00
init_dfu=run do_dfu_alt_info_mmc ; saveenv
load_edsboot=load mmc 0:9 0x100000 bzImage-initramfs
load_kernel=fatload mmc 0:7 ${loadaddr} bzImage-initramfs-edison.bin
load_usbboot=load mmc 0:9 0x100000 bzImage-initramfs-usb ; if env exists cpio ; then print cpio ; load mmc 0:9 0x3000000 acpi-tables.cpio ; fi ;
loadaddr=0x100000
mmc-bootargs=run do_bootargs_rootfs; run do_audio_support; setenv bootargs ${bootargs_rootfs} ${bootargs_console} ${bootargs_debug} g_multi.ethernet_config=${bootargs_ethconfig} systemd.unit=${bootargs_target}.target hardware_id=${hardware_id} g_multi.iSerialNumber=${serial#} g_multi.dev_addr=${usb0addr} ${audio_support}
ota_done=0
ota_script_addr=0x100000
ota_update_max_retries=3
ota_update_retry=0
partitions=uuid_disk=${uuid_disk};name=u-boot0,start=1MiB,size=2MiB,uuid=${uuid_uboot0};name=u-boot-env0,size=1MiB,uuid=${uuid_uboot_env0};name=u-boot1,size=2MiB,uuid=${uuid_uboot1};name=u-boot-env1,size=1MiB,uuid=${uuid_uboot_env1};name=factory,size=1MiB,uuid=${uuid_factory};name=panic,size=24MiB,uuid=${uuid_panic};name=boot,size=32MiB,uuid=${uuid_boot};name=rootfs,size=1536MiB,uuid=${uuid_rootfs};name=update,size=768MiB,uuid=${uuid_update};name=home,size=-,uuid=${uuid_home};
serial#=edcb9deb6034c78e5649076c2221c51e
target_name=blank
usb0addr=02:00:86:21:c5:1e
usbboot=setenv bootargs ${acpi} ${bootargs_usbboot}; run load_usbboot; run boot_edsboot
uuid_boot=db88503d-34a5-3e41-836d-c757cb682814
uuid_disk=21200400-0804-0146-9dcc-a8c51255994f
uuid_factory=333a128e-d3e3-b94d-92f4-d3ebd9b3224f
uuid_home=f13a0978-b1b5-1a4e-8821-39438e24b627
uuid_panic=f20aa902-1c5d-294a-9177-97a513e3cae4
uuid_rootfs=012b3303-34ac-284d-99b4-34e03a2335f4
uuid_uboot0=d117f98e-6f2c-d04b-a5b2-331a19f91cb2
uuid_uboot1=8a4bb8b4-e304-ae48-8536-aff5c9c495b1
uuid_uboot_env0=25718777-d0ad-7443-9e60-02cb591c9737
uuid_uboot_env1=08992135-13c6-084b-9322-3391ff571e19
uuid_update=faec2ecf-8544-e241-b19d-757e796da607
acpi=quiet

reboot

The reboot command can take an argument <bootargs>.

This allows you to type reboot usb and reboot sdhc, which will perform either usbboot (boot kernel bzImage-initramfs-usb on mmcblk0p9 and rootfs from the usb drive sda) or edsboot (boot kernel bzImage-initramfs on mmcblk0p9 and rootfs from the SDHC card mmcblk0) respectively without the need to interrupt U-Boot from the console.

This way you can reboot from ssh from a remote terminal into the image you want (without console).

Other supported bootargs are boot, ota and flash (unchanged from the factory image).

kernel command line

The kernel is booted with a built-in initramfs. The init.sh script that runs with PID = 1 takes the follow parameters:

Parameter Function
debugshell Fall back to a busybox prompt after 30 seconds 1)
debugshell=10 Fall back to a busybox prompt after 10 seconds
skiptables Skip loading ACPI tables 2)

1) If there is a problem finding your rootfs you will be dropped in the busybox shell inside the initramfs so you can investigate if the file system needs repair, if there is a driver missing etc.

2) If you install the acpi-tables package into edison-image you can install manually by running acpi-tables-load, or you can have systemd perform the load using systemctl enable acpi-tables-load. This is useful during ACPI tables development where you want quickly test without building a new kernel.

run-timezone

There exists a pre-installed systemd service called run-timezone.service which tries to set up the correct time zone (tool timedatectl) on behalf of the location service ipapi.co. Please notice that this will not work until a working WAN connection has been established (tool connmanctl). The service does not harm, but of course you may disable it manually using systemctl disable run-timezone.service and call run-timezone later.