-
Notifications
You must be signed in to change notification settings - Fork 48
Batteries Included
thingOS comes with many useful services:
- WiFi
- WiFi Access Point
- Bluetooth
- 3G/4G Modem
- DHCP Server
- Date/Time
- SSH Server
- Cron Daemon
- Logrotate
- Syslog
- Automount
- DBus
The wireless connection is handled by the wpa_supplicant
daemon. The S35wifi
init script starts and monitors the wireless connection, if a wireless network is configured in wpa_supplicant.conf
.
The wireless access point is handled by the hostapd
daemon. The S33hostapd
init script starts and monitors the daemon, if the hostapd.conf
configuration file is present.
Keep in mind however that:
- your WiFi adapter (driver) may not support the AP mode and may simply not work with
hostapd
- wireless drivers are known to be less stable and less reliable when acting as an access point than when used as a client (station)
- the actual throughput when using such an AP is often less than that of a regular wireless router
Note that the hostapd
package is not enabled by default in thingOS.
The init script S37bluetooth
that takes care of initializing the Bluetooth stack.
The bluetooth.conf
file is used to configure the bluetooth stack.
Note that the bluez-utils 5.x
package is not enabled by default in thingOS.
TODO
The DHCP server is handled by the dnsmasq
daemon. The S45dnsmasq
init script starts the daemon, if the dnsmasq.conf
configuration file is present.
Note that the dnsmasq
package is not enabled by default in thingOS.
Unless your board has a RTC module, the system date/time is set at boot and then regularly updated using the network connection. This is done via the S50date
init script. Either NTP or simple HTTP requests can be used to synchronize the time. See date.conf for configuration.
If you need remote acess to your board, S60sshd
will start the SSH daemon. Authorized keys should be put in /data/etc/ssh_authorized_keys
. The host keys are generated at first run and kept in /data/etc
. SFTP also available. The SSH daemon can be configured by editing /etc/sshd_config
.
The cron daemon included by default with thingOS is the one embedded in BusyBox. It is started at boot by S51crond
.
Two instances are started: one for the system configuration (/etc/crontabs
) and one for the "user" configuration (/data/etc/crontabs
).
The standard crontab -e
command can be used to edit the "user" cron configuration.
Logrotate is run daily and will rotate all files matching /var/log/.*log
as soon as their size goes above 10MB, keeping 9 rotated versions. This behavior can be configured by editing /etc/logrotate.conf
.
Syslog is started via the S04syslog
and can be configured by editing /etc/syslog.conf
. System logging goes to /var/log/messages
.
External drives are automatically mounted using the UDev rule /etc/udev/rules.d/61-usb-storage.rules
. A mount target is automatically created in /data/media
and will have the name of the storage device. Supported filesystems are EXT2/3/4, VFAT and NTFS.
The DBus daemon is started by S30dbus
and uses the /etc/dbus-1/system.conf
file for configuration.
- bluetooth.conf
- captive-portal.conf
- cpufreq.conf
- date.conf
- dnsmasq.conf
- docker-compose.yml
- dtoverlays
- dyndns-update.sh
- environment
- firewall.sh
- fstab.user
- hostapd.conf
- ifalias.conf
- localtime
- modprobe.conf
- modules
- mongodb.conf
- netwatch.conf
- ntp.conf
- os.conf
- proftpd.conf
- redis.conf
- smb.conf
- ssh/config
- ssh/sshd_config
- ssl/domain
- ssl/email
- static_ip.conf
- sysctl.conf
- toemmc.conf
- version
- watchdog.conf
- wpa_supplicant.conf