User-programmable LEDs (4), buttons (2) and switches (2) are available to easily give input and get output. The nRF9160 DK has both a 4FF SIM card slot and an MFF2 SIM footprint, to support both plug-in and soldered (e)SIMs. It is bundled with a eSIM card from iBasis preloaded with 10 MB.Programming and debugging is enabled through the Segger J-Link OB, which also supports external targets. The nRF9160 DK is supported by a full suite of development software and tools. All free to download and use commercially.
I want to thank the following companies which are providing support for the BusyBox project: Analog Devices, Inc. provided a Blackfin development board free of charge. Blackfin is a NOMMU processor, and its availability for testing is invaluable. If you are an embedded device developer, please note that Analog Devices has an entire Linux distribution available for download for this board. Visit for more information.
Changes since previous release:Aaro Koskinen: devmem: add 128-bit widthBernhard Reutner-Fischer (3): kbuild: fix building sha256 kbuild: Prefer -Oz over -Os seedrng: manually inline seed_rngBrandon Maier: xxd: fix typo in trivial usageDario Binacchi (2): fbset: abort on not handled options fbset: support setting pixel clock rateDavid Leonard: tsort: new appletDenys Vlasenko: Makefile.flags: add resolv to LDLIBS for linux compilers too (not only gnu ones) build system: detect if build host has no bzip2 scripts/echo.c: fix NUL handling in "abc\0 def" libbb/loop: fix compile failure (name collision) libbb/loop: optionally use ioctl(LOOP_CONFIGURE) to set up loopdevs libbb/loop: restore the correct return value of set_loop() libbb/sha1: add config-selectable fully unrolled version, closes 14391 libbb/sha1: add config-selectable partially unrolled version libbb/sha1: assembly versions for x86 libbb/sha1: optional x86 hardware accelerated hashing libbb/sha256: optional x86 hardware accelerated hashing libbb: change xstrndup, xmemdup to take size_t as size parameter libbb: factor out fflush_stdout_and_exit(EXIT_SUCCESS) libbb: fflush_stdout_and_exit(0) still exits with _error_ (not 0!) if fflush fails libbb: fix fallout from nth_string() robustification, closes 14726 libbb: introduce and use chdir_or_warn() libbb: invert the meaning of SETUP_ENV_NO_CHDIR -> SETUP_ENV_CHDIR tls: P256: remove NOP macro sp_256_norm_8() tls: include signature_algorithms extension in client hello message examples/var_service/dhcp_if: make helper scripts more talkative testsuite/mount.tests: accomodate umount failure seen on 5.18.0 testsuite/sha1sum.tests: fix false positive failure shell: add comments about SIGINT-related problems shell: fix compile failures in some configs ash,hush: fix handling of SIGINT while waiting for interactive input ash: ^C with SIG_INGed SIGINT should not exit the shell ash: do not truncate failed tilde expansion on unknown user names ash: fix ifs cleanup on error paths ash: fix unsafe use of mempcpy ash: fix use-after-free in pattern substitution code awk: input numbers are never octal or hex (only program consts can be) bc: hopefully fix bug 14956 (use-after-free) cut: build fix for FEATURE_CUT_REGEX ifplugd: split -a into -a and -A, latter disables upping in iface creation init: do not set HOME ls: implement ls -sh (human-readable allocated blocks) md5/shaXsum: use FEATURE_COPYBUF_KB to size the buffer instead of fixed 4k mv: fix error in !VERBOSE configs nmeter: %[md] %[mw] - dirty file-backed pages, writeback pages powertop: fix cpuid asm: ebx saving/restoring is properly done by gcc sed: correctly handle 'w FILE' commands writing to the same file sed: fix double-free in FEATURE_CLEAN_UP=y configs sed: fix handling of escaped delimiters in s/// replacement sed: fix handling of escaped delimiters in s/// search pattern, closes 14541 seedrng: chdir to the SEED_DIRECTORY - avoid concat_path_file's seedrng: do not hash in a constant string, it's not adding entropy seedrng: do not hash lengths, they are very predictable seedrng: do not try to continue on unexpected errors (just exit) seedrng: explain why we need locking and fsync'ing seedrng: include file/dir names in error messages seedrng: re-add fsync after unlink, and explain its purpose seedrng: reduce MAX_SEED_LEN from 512 to 256 seedrng: remove redundant assignment seedrng: remove unnecessary zero-filling of local variables seedrng: restore error check on fsync seedrng: simplify read_new_seed() to not have error return seedrng: use more xfuncs where appropriate shaNNNsum: accept one-space "HASH FILENAME" format for -c, closes 14866 sort: fix -k2M (wasn't skipping leading whitespace) sort: fix -s -r interaction: 'stable' order is not affected by -r sort: fix sort -s -u, closes 14871 sort: support -h sulogin: increase util-linux compatibility sulogin: start _login_ shell only with -p sulogin: util-linux does not say "normal startup" on Ctrl-D taskset: fix printf format mismatch in !FEATURE_TASKSET_FANCY config. closes 14616 top: fix display of large PID/PPID top: improve large PID display in memory ('s') mode tree: make it unicode-aware tree: unicode tweak (use normal space char, 0x20) udhcpc6: add missed big-endian conversions udhcpc6: align FF02__1_2 udhcpc6: downgrade "opening listen socket" log level to 2 udhcpc6: fix binding to network aliases udhcpc6: fix sending of renew messages udhcpc6: use a different default config script xargs: implement -o, closes 15146 xxd -r: handle offsets xxd -r: without -p, stop at more than one whitespace, closes 14786 xxd: fix use of non-initialized data xxd: use bb_simple_perror_msg... where appropriateEmanuele Giacomelli: XXXsum: handle binary sums with " " in the pathGrob Grobmann: vi: add 'ZQ' quitting commandHenrique Rodrigues: ping: fix typo in --help textJason A. Donenfeld (10): seedrng: import SeedRNG utility for kernel RNG seed files seedrng: use libbb functions seedrng: hoist bb_strtoul out of min/max seedrng: remove some global variables seedrng: further reduce size seedrng: use predefined strings where possible seedrng: avoid needless runtime strlen() call seedrng: compress format strings with %s arguments seedrng: code-golf even smaller seedrng: prune header includesKhem Raj: apply const trick to ptr_to_globalsLouis Sautier: pkill: add -e to display the name and PID of the process being killedLudwig Nussel: libbb: mark stack in assembly files read-onlyNatanael Copa (2): awk: fix use after free (CVE-2022-30065) more: accept and ignore -ePaul Fox: crond: implement support for setting PATH in crontab filesPeter Kaestle: unzip -l: add missed big-endian conversions date and timeRoger Knecht: tree: new appletRon Yorston (8): libbb: restore special handling of nomsg errors libbb: make '--help' handling more consistent lineedit: get PWD from ash ash,hush: use HOME for tab completion and prompts vi: fix regression in autoindent handling vi: handle autoindent in 'cc' command vi: improved handling of backspace in replace mode vi: fix backspace over tab in commandsSamuel Thibault: Fix non-Linux buildsShawn Landden: ash: optional sleep builtinSören Tempel (3): ed: add support for -s command-line option as mandated by POSIX ash: don't read past end of var in subvareval for bash substitutions ash: fix use-after-free in bash pattern substitutionTimo Teräs: mkfs.vfat: fix volume label to be padded with spaceVincent Stehlé: fdisk: recognize EBBR protective partitionsWalter Lozano: Add support for long options to cmpXiaoming Ni (4): loop: fix a race when a free loop device is snatched loop: refactor: extract subfunction get_next_free_loop() loop: simplify code of LOOP_SET_FD failure loop: refactor: extract subfunction set_loopdev_params()
Changes since previous release:Andy Shevchenko modprobe: add support for modprobe.blacklist=module1,module2,...Audun-Marius Gangstø: lineedit: fix unicode characters in promptChristian Eggers: shell: fix "read -d ''" behavior ip: add support for "noprefixroute" option ip address: add support for "valid_lft" and "preferred_lft" options chrt: support for musl C libraryCristian Ionescu-Idbohrn: fix warning: label 'out1' defined but not usedDenys Vlasenko: avoid using strtok - eliminates use of hidden global variable use write_str() functions where appropriate fixes for Hurd build move ADJTIME_PATH define to header files examples: remove /sbin/ prefixes, system should be configured with $PATH to find utilities build system: combat gcc zealotry in data alignment build system: make -static-libgcc selectable in config libbb: add and use infrastructure for fixed page size optimization libbb: bb_do_delay(3) -> pause_after_failed_login(), and stop looping there libbb: change decode_base32/64 API to return the end of _dst_, not _src_ libbb: create and use mmap() helpers libbb: do not compile selinux_or_die() if !SELINUX libbb: do not open-code __errno_location() call libbb: exec_login_shell() - new function libbb: extend "errno pointer" trick to other than __GLIBC__ libbb: fold common64_hash() into its only user libbb: in @SECONDS date format, use 64-bit time if libc allows libbb: introduce and use msleep() libbb: introduce and use sleep1() libbb: introduce and use xsettimeofday() libbb: make msleep() result in only one syscall instead of looping libbb: make pw_encrypt() die if supplied salt is bad (e.g. emply) libbb: rename run_shell() to exec_shell() libbb: shrink last_char_is(), no longer allow NULL string argument libbb: shrink recursive_action() by reducing memory pressure libbb: smaller and faster decode_base64() libbb: trim base32/64 tables unicode: fix handling of short 1-4 char tables unicode: relax array alignment for tables lineedit: disable completion and fancy prompts if no shells are selected lineedit: remove ->path_lookup if ash is not configured lineedit: use strncmp instead of is_prefixed_with (we know the length) networking: support ftp PASV responses not ending with ')' ash: clear ungetc counter on syntax errors ash: jobs: Fix infinite loop in waitproc ash: jobs: Fix waitcmd busy loop ash: make interactive ^C break out of PS2 mode ash: reset SIGHUP earlier: allows HUP traps in .profile, closes 13371 hush: NOMMU fix for hush-psubst/tick6.tests hush: deal with FIXMEs for corner cases in parameter expansion hush: do not print killing signal name in `cmd_which_dies_on_signal` hush: fix -c SCRIPT handling hush: fix PS1 prompth in !EDITING config hush: fix ^C in INTERACTIVE, !EDITING config hush: fix this case: echo "SCRIPT" | hush hush: if !EDITING, do not regenerate prompt for every input char hush: if login shell, also source ~/.profile hush: output bash-compat killing signal names hush: remove one redundant getpid() on every startup shell: better support of [[ ]] bashism shell: for signal exitcode, use 128 | sig, not 128 + sig - MIPS has signal 128 shell: remove FAST_FUNC from a static function shell: a fix for systems without RLIMIT_NICE awk: FS regex matches only non-empty separators (gawk compat) awk: add a test that $NF is empty awk: fix dodgy multi-char separators splitting logic base32: new applet base32/64: decode in-place base32/64: implement -w COL bc: do not allocate line editing state until needed date: for -uR and -uIh, timezone still has to be shown as +hhmm, not as abbreviation date: remove non-standard special-casing of date '+%f' date: support -Ins, more compatible timezone display in -I dd: support for O_DIRECT i/o factor: 30% faster trial division (better sieve) factor: detect squares grep: for -L, exitcode 0 means files *without* matches were found, closes 13151 hexdump: fix duplicate block comparison hwclock: fix musl breakage of settimeofday(tz) login: log to syslog every bad password, not only 3rd mail: commonalize send_r_n() mail: deobfuscate launch_helper() mail: launch_helper(): flush stdio before vfork, set G.helper_pid only in parent mail: move "opts" from globals man: implement SECTION parameters mdev: clear LOGMODE_STDIO only directly before daemonizing mount: add -o nostrictatime and -o [no]lazytime mount: implement -o nosymfollow, remove bogus -o union mount: do not guess bind mounts as NFS mount: do not guess mount as NFS if "hostname:" contains slashes mount: fix a race when a free loop device is snatched under us by another mount mount: fix incorrect "success" exitcode if loop device setup fails nsenter: stop option parsing on 1st non-option ntpd: allow non-root to run it (e.g. with -w option) ntpd: fix refid reported in server mode, closes 13056 ntpd: fix the case where two replies received at once and first one causes a step ping: fix -wN to not think that one packet is always lost tar: fix fallout of last_char_is(NULL) no longer being allowed traceroute: avoid collecting target local address if !VERBOSE traceroute: commonalize verbose printing traceroute: don't set SO_DONTROUTE on recv socket, it only affects send traceroute: even with -v, don't show other ping processes replies traceroute: fix traceroute6 -I (icmp mode) traceroute: make "ipv4 or ipv6?" cheaper to find out traceroute: set IP_PKTINFO to see correct local IP of received pkt (fixes -v display) traceroute: simpler hexdump() traceroute: untangle main loop udhcp: remove struct packing attribute, eliminates gcc-9.x warning udhcpc6: code shrink - sending functions do not need ifindex parameter uevent: increase netlink buffer sizes uevent: make it survive ENOBUFS uudecode: fix possible signed char bug volume_id: improve struct layout (smaller offesets, smaller insns on x86) wget: do not ftruncate if -O- is used, closes 13351 xargs: fix -I SUBSTR behaviour xxd: fix printing of trailing spaces xxd: compat: move hexdump -R functionality to xxd -rEddie James: hwclock: fix settimeofday for glibc v2.31+Gray Wolf: crontab: fix -e with editors saving using renaming strategyJan Klötzke: libbb: set netlink socket revbuf size before binding mdev: increase netlink buffer sizes mdev: move daemon setup to dedicated function mdev: re-initialize if uevent messages were lost mdev: add syslog logging mode mdev: add -v to increase log verbosityJoachim Nilsson: login: update UTMP before forking syslogd: delay PID file creation until syslogd is ready archival: avoid std namespace for local includesLauri Kasanen: mount: surround syslog.h with the config checkMartin Lewis: udhcp: add option scanner udhcpc: fix a TODO in fill_envp using option scanner procps: code shrink compare_string_array: code shrink domain_codec: optimize dname_dec and convert_dname udhcpc: add support for long optionsMichal Kazior: udhcp: bind to device even for ucast packetsNorbert Lange: nc_bloaty: support udp broadcast ports dpkg: prevent important directories from being removed dhcpd: remove hardcoded pidfile path acpid: only display -p if supported in usage util-linux: support erofs filesystemRon Yorston: build system: drop PLATFORM_LINUX lineedit: omit directories when tab-completing from PATH lineedit: match local directories when searching PATHRui Salvaterra: ip rule: add support for fwmark/fwmask for policy routingScott Court: wget: fix openssl options for cert verificationSergey Ponomarev: httpd_indexcgi.c: minimize style CSS httpd_indexcgi.c: use CSS for odd/even rows httpd: update to HTTP/1.1 httpd: don't add Date header to response httpd: don't add Last-Modified header to response httpd: support caching via ETag header httpd: make Deny/Allow by IP config support optionalSteffen Trumtrar: mount: support the sizelimit and offset option for loop devicesXabier Oneca: httpd: code shrink mkdtemp: proper error detection on mktemp 2b1af7f3a8