# Boot Process

Published articles for Boot Process.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Implementing a Deep-sleep wake stub application on Espressif chips to enable power-efficient IoT devices

DevFeed: [Implementing a Deep-sleep wake stub application on Espressif chips to enable power-efficient IoT devices](<https://devfeed.tech/articles/implementing-a-deep-sleep-wake-stub-application-on-espressif-chips-to-enable-power-efficient-iot-devices-13719.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2025/09/deep-sleep-wake-stub-get-started/>)

Author: John Lee

Published: 2025-09-02T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [Internet of things](<https://devfeed.tech/topics/iot.md>), [Espressif](<https://devfeed.tech/topics/espressif.md>), [Boot Process](<https://devfeed.tech/topics/boot-process.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [SOC](<https://devfeed.tech/topics/soc.md>)

Tags: [battery](<https://devfeed.tech/tags/battery.md>), [blog](<https://devfeed.tech/tags/blog.md>), [boot-process](<https://devfeed.tech/tags/boot-process.md>), [deep-sleep-wake-stub](<https://devfeed.tech/tags/deep-sleep-wake-stub.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [esp32-c6](<https://devfeed.tech/tags/esp32-c6.md>), [espressif](<https://devfeed.tech/tags/espressif.md>), [gpio](<https://devfeed.tech/tags/gpio.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [i2c](<https://devfeed.tech/tags/i2c.md>), [iot](<https://devfeed.tech/tags/iot.md>), [low-power](<https://devfeed.tech/tags/low-power.md>), [spi](<https://devfeed.tech/tags/spi.md>)

### AI overview

This tutorial explains how Deep-sleep wake stubs work on Espressif chips and demonstrates how to build an application using GPIO, UART, I2C, and SPI. Wake stubs can skip most of the boot sequence after deep-sleep reset, enabling faster wake-up and lower power use for short tasks.

### Source excerpt

In this article, we first explain the principles behind the Deep-sleep wake stub application and then demonstrate how to implement GPIO, UART, I2C, and SPI within it.

## Boot Secure, Restore Smart: Accelerating Device Startup on ESP32

DevFeed: [Boot Secure, Restore Smart: Accelerating Device Startup on ESP32](<https://devfeed.tech/articles/boot-secure-restore-smart-accelerating-device-startup-on-esp32-13712.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2025/07/faster-device-restoration/>)

Author: John Lee

Published: 2025-07-18T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [ESP32](<https://devfeed.tech/topics/esp32.md>), [Boot Process](<https://devfeed.tech/topics/boot-process.md>), [Internet of things](<https://devfeed.tech/topics/iot.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [boot-process](<https://devfeed.tech/tags/boot-process.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [flash-encryption](<https://devfeed.tech/tags/flash-encryption.md>), [iot](<https://devfeed.tech/tags/iot.md>), [latency](<https://devfeed.tech/tags/latency.md>), [secure-boot](<https://devfeed.tech/tags/secure-boot.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

This article examines ESP-IDF boot flow on ESP32 devices and explains how restoring device state during the bootloader stage can reduce restoration delays. It describes the boot stages, integrity and signature checks, and the effect of application image size and security features on boot time.

### Source excerpt

Fast and secure device restoration during boot-up is critical for real-time IoT applications like smart lighting. In this article, we explore how to reduce boot-up delays by restoring device state early, directly from the ESP-IDF bootloader.

## A Simplified ESP32 Boot Process Using Single-Image Binaries

DevFeed: [A Simplified ESP32 Boot Process Using Single-Image Binaries](<https://devfeed.tech/articles/simple-boot-explained-13707.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2025/06/simple-boot-explained/>)

Author: John Lee

Published: 2025-06-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [Boot Process](<https://devfeed.tech/topics/boot-process.md>), [ESP32](<https://devfeed.tech/topics/esp32.md>), [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [Development](<https://devfeed.tech/topics/development.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [blog](<https://devfeed.tech/tags/blog.md>), [boot-process](<https://devfeed.tech/tags/boot-process.md>), [bootloader](<https://devfeed.tech/tags/bootloader.md>), [development](<https://devfeed.tech/tags/development.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [flash](<https://devfeed.tech/tags/flash.md>), [nuttx](<https://devfeed.tech/tags/nuttx.md>), [simpleboot](<https://devfeed.tech/tags/simpleboot.md>), [speed](<https://devfeed.tech/tags/speed.md>), [zephyr](<https://devfeed.tech/tags/zephyr.md>)

### AI overview

This article explains how to create a simplified ESP32 bootable image by integrating essential bootloader functionality into the application image. The single-image approach can reduce build and flashing time for development workflows, but it sacrifices features such as OTA updates.

### Source excerpt

In this article, we explore a simplified ESP32 boot process using single-image binaries to speed up build and flash times -- ideal for development workflows. This approach sacrifices features like OTA updates but enables faster iteration.

## Linux Emergency Recovery With init=/bin/bash

DevFeed: [Linux Emergency Recovery With init=/bin/bash](<https://devfeed.tech/articles/linux-emergency-recovery-with-init-bin-bash-4518.md>)

Original publisher: [Read original article](<https://feeds.feedblitz.com/~/920030138/0/baeldung/linux~Linux-Emergency-Recovery-With-initbinbash>)

Author: Francesco Galgani

Published: 2025-06-10T19:40:59Z

Content type: tutorial

Language: en

Sources: [Baeldung - Linux](<https://devfeed.tech/sources/baeldung-linux.md>)

Topics: [Linux](<https://devfeed.tech/topics/linux.md>), [Boot Process](<https://devfeed.tech/topics/boot-process.md>), [systemd](<https://devfeed.tech/topics/systemd.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [passwords](<https://devfeed.tech/topics/passwords.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [boot](<https://devfeed.tech/tags/boot.md>), [boot-process](<https://devfeed.tech/tags/boot-process.md>), [boot-process-passwd-systemd](<https://devfeed.tech/tags/boot-process-passwd-systemd.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [linux](<https://devfeed.tech/tags/linux.md>), [passwd](<https://devfeed.tech/tags/passwd.md>), [password](<https://devfeed.tech/tags/password.md>), [recovery](<https://devfeed.tech/tags/recovery.md>), [root](<https://devfeed.tech/tags/root.md>), [systemd](<https://devfeed.tech/tags/systemd.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

This tutorial explains how to recover an unbootable Linux system by adding init=/bin/bash to the kernel parameters. It covers entering a root Bash shell as PID 1, working with encrypted LVM and LUKS installations, resetting passwords, remounting the filesystem as read/write, and forcing a reboot when normal shutdown commands are unavailable. The method is presented as an emergency measure because an improper forced reboot can cause data loss or corruption.

### Source excerpt

Learn to use the init=/bin/bash kernel parameter to access a minimalist root shell on systems that wouldn't otherwise boot. The post Linux Emergency Recovery With init=/bin/bash first appeared on Baeldung on Linux. Click the icon below to watch. Related Stories Linux Emergency Recovery With init=/bin/bash - Enclosure How to Restore Systemd After Deleting It Accidentally How to Dual Boot Windows and Linux

## The Story Behind Shopify's Isospin Tooling

DevFeed: [The Story Behind Shopify's Isospin Tooling](<https://devfeed.tech/articles/the-story-behind-shopify-s-isospin-tooling-1597.md>)

Original publisher: [Read original article](<https://shopify.engineering/shopify-isospin-cloud-development-tooling>)

Author: Misty De Méo

Published: 2022-07-05T17:00:01Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [Processes](<https://devfeed.tech/topics/processes.md>)

Tags: [applications](<https://devfeed.tech/tags/applications.md>), [boot-process](<https://devfeed.tech/tags/boot-process.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [linux](<https://devfeed.tech/tags/linux.md>), [platform](<https://devfeed.tech/tags/platform.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [systemd](<https://devfeed.tech/tags/systemd.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

Shopify describes Isospin, a systemd-based part of its Spin cloud development platform. It uses systemd units and targets to model application components, dependencies, scheduling, boot phases, and process isolation on shared Linux VMs.

### Source excerpt

You may have read that Shopify has built an in-house cloud development platform named Spin. In that post, we covered the history of the platform and how it powers our everyday work. In this post, we'll take a deeper dive into one specific aspect of Spin: Isospin, Shopify's systemd-based tooling that forms the core of how we run applications within Spin. The initial implementation of Spin used the time-honored POSS (Pile of Shell Scripts) design pattern.

## November 2020 round-up

DevFeed: [November 2020 round-up](<https://devfeed.tech/articles/november-2020-round-up-32467.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2020-12-01-november-2020-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2020-12-01T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Boot Process](<https://devfeed.tech/topics/boot-process.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [boot](<https://devfeed.tech/tags/boot.md>), [boot-process](<https://devfeed.tech/tags/boot-process.md>), [feature](<https://devfeed.tech/tags/feature.md>), [filesystems](<https://devfeed.tech/tags/filesystems.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>)

### AI overview

The November 2020 Mobile NixOS project roundup describes merged improvements to the stage-1 boot process, including boot progress reporting, clearer and interactive error handling, reboot and power-off controls, and support for decrypting LUKS-encrypted root filesystems. The on-screen and physical keyboard interface is limited to the US QWERTY layout.

### Source excerpt

This update is the twelfth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes During the month 13 pull requests were merged. Some major improvements landed, let's take a peek. Progress in stage-1 The boot splash utility now shows the progress of the boot. This is done with a simple progress bar shows how much of the tasks have been handled. Long-running tasks can provide a message to show so the user knows things aren't necessarily hung. Speaking of hung tasks. Our init now detects when no tasks resolved in a given amount of time. When this happens, the boot is being failed with, hopefully enough context in the error message to help the user. Speaking of error messages. Error messages are now less of a dead-end for our users. The interface has been reviewed to put the text message front and center. Previously we were showing a big image because we didn't even have text rendering at this state. Now that we do, let's use it. In addition to that, the error applet is now somewhat interactive. There is now a cancellable countdown; when the time is elapsed the kernel is crashed, which allows the platform to do its default action (generally reboot). When canceled, the user can select different options, either through the touch screen, using a mouse, a keyboard or using volume-keys navigation. The user can select to power off their device, which default action (so mashing the power key will power off the device). Depending on whether the platform supports it, the usual different reboot options are given. Encrypted root filesystem support Thought we were done with stage-1 updates? No! What if it was now able to decrypt LUKS encrypted filesystems? Well it can! For now, this is mainly the plumbing to make it all work. Getting a LUKS encrypted filesystem on your device is left as an exercise to the reader. Our stage-1 can

## Mobile NixOS July 2020 Roundup Covers Device Ports, External Definitions, and Boot GUI Updates

DevFeed: [Mobile NixOS July 2020 Roundup Covers Device Ports, External Definitions, and Boot GUI Updates](<https://devfeed.tech/articles/july-2020-round-up-32464.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2020-08-04-july-2020-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2020-08-04T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Android](<https://devfeed.tech/topics/android.md>), [TWRP (software)](<https://devfeed.tech/topics/twrp.md>), [User Experience](<https://devfeed.tech/topics/user-experience.md>), [SOC](<https://devfeed.tech/topics/soc.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [Boot Process](<https://devfeed.tech/topics/boot-process.md>), [Raspberry Pi](<https://devfeed.tech/topics/raspberry-pi.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [asus](<https://devfeed.tech/tags/asus.md>), [boot-process](<https://devfeed.tech/tags/boot-process.md>), [bug](<https://devfeed.tech/tags/bug.md>), [bug-fixes](<https://devfeed.tech/tags/bug-fixes.md>), [development](<https://devfeed.tech/tags/development.md>), [display](<https://devfeed.tech/tags/display.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [power](<https://devfeed.tech/tags/power.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [raspberry-pi](<https://devfeed.tech/tags/raspberry-pi.md>), [soc](<https://devfeed.tech/tags/soc.md>), [touchscreen](<https://devfeed.tech/tags/touchscreen.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>), [volume](<https://devfeed.tech/tags/volume.md>)

### AI overview

This Mobile NixOS project update covers merged bug fixes and minor changes, an Asus Zenfone Max Plus (M1) port, external device definitions, and updates to the boot GUI. The GUI changes add independent mouse and touchscreen support, keyboard-driven input, and navigation with volume keys and the power button.

### Source excerpt

This update is the ninth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes As with last month, a big part of the 10 pull requests merged were bug fixes or minor changes. Though some valuable work was also finished. Asus Zenfone Max Plus (M1) The port for asus-x018d is mainly notable for being the only alternative system to the OEM-provided Android system, with the exception to a TWRP that is using the OEM-built kernel. This means that, for the first time, Mobile NixOS this is the only alternative system for a device, including other Android-based systems. Finishing with a last note, this device has an older Mediatek SoC, compared to the other ported Mediatek device. There is not much to say, except that it was found that older Mediatek devices may exhibit a similar quirk to Qualcomm devices, where the framebuffer has to be refreshed explicitly for the display to be updated. External device definitions I hesitate to openly discuss about this pull request, as it might make contributors think they should not contribute their devices back. #162 adds a mechanism to maintain and build external device definitions. These external definitions should only be used for devices that are not welcome to the main project. The main reason a device would not be welcome is if it is not a "Mobile device". An example of such a device is the Pinebook Pro, which is a laptop. Another example would be porting to SBCs like a Raspberry Pi. Updates for the boot GUI This change, #189, is where most if this month's development time was spent. The toolkit used for the boot GUI has been forked and adapted to serve the goal of providing a GUI for mobile devices better. As part of the changes, some minor UX (User eXperience) changes have been made, but more importantly, major changes like properly supporting mouse and touch screens in an indep

## ReactOS 0.4.13 released

DevFeed: [ReactOS 0.4.13 released](<https://devfeed.tech/articles/reactos-0-4-13-released-33192.md>)

Original publisher: [Read original article](<https://reactos.org/project-news/reactos-0413-released/>)

Published: 2020-04-10T00:00:00Z

Content type: release

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [ReactOS](<https://devfeed.tech/topics/reactos.md>), [releases](<https://devfeed.tech/topics/releases.md>), [USB](<https://devfeed.tech/topics/usb.md>), [Boot Process](<https://devfeed.tech/topics/boot-process.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [file](<https://devfeed.tech/topics/file.md>), [Xbox](<https://devfeed.tech/topics/xbox.md>)

Tags: [boot](<https://devfeed.tech/tags/boot.md>), [boot-process](<https://devfeed.tech/tags/boot-process.md>), [free](<https://devfeed.tech/tags/free.md>), [highlighting](<https://devfeed.tech/tags/highlighting.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [release](<https://devfeed.tech/tags/release.md>), [usb](<https://devfeed.tech/tags/usb.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>), [xbox](<https://devfeed.tech/tags/xbox.md>)

### AI overview

The ReactOS Team announced version 0.4.13, featuring improvements to the USB stack, further development of the Xbox port boot process, and a file-search feature in the Explorer Shell module. The release also includes other changes.

### Source excerpt

The ReactOS Team is pleased to announce the release of version 0.4.13. As with prior releases, keywords are noted representing the release itself and highlighting key improvements. In this particular case, the 0.4.13 version shows the results of significant hard work to bring improvements to the USB stack, further development on the Xbox port boot process, an Explorer File Search for the Shell module, as well as many other changes.

## Mobile NixOS February 2020 round-up: graphical boot selection and project updates

DevFeed: [Mobile NixOS February 2020 round-up: graphical boot selection and project updates](<https://devfeed.tech/articles/february-2020-round-up-32459.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2020-03-03-february-2020-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2020-03-03T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [GUI](<https://devfeed.tech/topics/gui.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Library](<https://devfeed.tech/topics/library.md>), [mruby](<https://devfeed.tech/topics/mruby.md>), [Boot Process](<https://devfeed.tech/topics/boot-process.md>), [Simple DirectMedia Layer](<https://devfeed.tech/topics/sdl.md>)

Tags: [boot-process](<https://devfeed.tech/tags/boot-process.md>), [gui](<https://devfeed.tech/tags/gui.md>), [library](<https://devfeed.tech/tags/library.md>), [linux](<https://devfeed.tech/tags/linux.md>), [news](<https://devfeed.tech/tags/news.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [simulator](<https://devfeed.tech/tags/simulator.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

The February 2020 Mobile NixOS update reports three merged pull requests and four new projects in the organization. It highlights a working graphical boot selection for Mobile NixOS platforms, built with LittlevGL and mruby bindings, while noting that it is not yet a feature-complete generic bootloader replacement.

### Source excerpt

This update is the fourth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes 3 PRs were merged during the month. This is not cheating, the last merged PR was merged late on the 29th. This is not development slowing down. Far from it. Four new projects were added to the Mobile NixOS GitHub organization related to this month's work. Keep on reading. Graphical boot selection Hot on the heels of the re-written init, and as teased, a working graphical boot selection is now available for Mobile NixOS platforms. There is more than meets the eye in pull request #80. To make this possible, a GUI toolkit of relatively small weight has to be found. After some research, it was found in the LittlevGL library. While it is geared more towards actual embedded development, it does have a Linux framebuffer backend, support for evdev input. This is all standard stuff that is well supported on all targets. What is really nice with that library is it also supports a "simulator" target, which is basically an SDL window. With that said, I personally don't want to write C, especially in complex use cases. I already worked on mruby integration for the Mobile NixOS stage-1. It was only natural to write mruby bindings for LittleVGL. With all the exposition done. What does this look like? The header image of this news post is composed of four devices running the GUI. An actual screenshot of the GUI follows, for better clarity. This is not a feature complete generic replacement for a bootloader. Though, it can become one when kexec support is added in the future. Additionally, as touched upon in the pull request, these bindings will allow us to improve the graphical boot process. In a future improvement we'll be able to add information about the current running step, and better failure state reporting. Ports No new port were made in Februa

## Mobile NixOS January 2020 Round-Up: New Stage-1 Init and Planned Early-Boot UI

DevFeed: [Mobile NixOS January 2020 Round-Up: New Stage-1 Init and Planned Early-Boot UI](<https://devfeed.tech/articles/january-2020-round-up-32458.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2020-02-04-january-2020-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2020-02-04T00:00:00Z

Content type: article

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Boot Process](<https://devfeed.tech/topics/boot-process.md>), [USB](<https://devfeed.tech/topics/usb.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [boot-process](<https://devfeed.tech/tags/boot-process.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [logs](<https://devfeed.tech/tags/logs.md>), [recovery](<https://devfeed.tech/tags/recovery.md>), [saving](<https://devfeed.tech/tags/saving.md>), [ui](<https://devfeed.tech/tags/ui.md>), [usb](<https://devfeed.tech/tags/usb.md>)

### AI overview

The January 2020 Mobile NixOS update describes a redesigned stage-1 init with USB gadget handling, USB networking, firmware loading, log multiplexing and saving, reboot and poweroff support, and handling for configured special file systems. Its dependency-based design reduced reliance on sleep and wait times and made boot steps quicker. Work was also in progress on a graphical early-boot interface for recovery, generation selection, and eventually entering a passphrase for an encrypted system.

### Source excerpt

This update is the third in a series of regular updates on the state of the project. Usually, only changes that have been accepted and merged in Mobile NixOS in the given month are chronicled here. There's always more work currently in-progress. Notable changes Only 1 PR was merged during the month. Though, keep on reading, as one of the biggest PR, started in mid-December, was the main focus of the month. New Stage-1 init This is quite the misnomer, while true, that the PR mainly introduced a completely re-done init, it brought much more. "New-style" USB gadget (gadgetfs) handling. USB Networking for newer devices. Vendor partition firmware loading. Logs multiplexing and saving in stage-1. Proper reboot and poweroff in stage-1. Actual handling of NixOS-configured specialFileSystems. This new init is built using a dependencies-based system, reducing the complexities from the inflexible "big script" approach of the previous init. With this new approach, we can simply dump all of the things we need to happen in the init, tell them how they're linked, and boot. The current implementation is naïve, but even with a naïve approach, the benefits are apparent. First, the developer does not need to care about the ordering of things, only describing what has to be, and what to do. Then, the relatively surprising part: this made things a bit quicker to boot. This reduced reliance on sleep and wait times during the boot to provide assurance that things were ready, meaning that steps happen much quicker in succession. To the annoyance of the author, this means that the well-choreographed boot images whizz by too quickly, reducing their meaningfulness. In the end, this is a hidden change, that serves mainly to ensure a rock-solid foundation for what's coming soon. See the PR for more details. Upcoming changes Speaking of coming soon, As previewed in a tweet, work is in progress to provide a graphical interface that can be used in early boot. This can be used to make a "recovery"

## Spring internals - BeanPostProcessor

DevFeed: [Spring internals - BeanPostProcessor](<https://devfeed.tech/articles/spring-internals-beanpostprocessor-27299.md>)

Original publisher: [Read original article](<https://blog.pchudzik.com/201902/beanpostprocessor/>)

Published: 2019-02-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [Paweł Chudzik](<https://devfeed.tech/sources/pawe-chudzik.md>)

Topics: [Spring Framework](<https://devfeed.tech/topics/spring-framework.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Code](<https://devfeed.tech/topics/code.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [IoC (Disambiguation)](<https://devfeed.tech/topics/ioc.md>)

Tags: [boot-process](<https://devfeed.tech/tags/boot-process.md>), [code](<https://devfeed.tech/tags/code.md>), [container](<https://devfeed.tech/tags/container.md>), [context](<https://devfeed.tech/tags/context.md>), [customization](<https://devfeed.tech/tags/customization.md>), [execution](<https://devfeed.tech/tags/execution.md>), [framework](<https://devfeed.tech/tags/framework.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [interface](<https://devfeed.tech/tags/interface.md>), [spring](<https://devfeed.tech/tags/spring.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>), [spring-framework](<https://devfeed.tech/tags/spring-framework.md>)

### AI overview

This article explains Spring's BeanPostProcessor interface and its role during Spring container initialization. It describes how post-processors customize bean instances before and after initialization, can interrupt further processing, and can support examples such as measuring selected method execution times.

### Source excerpt

Have you ever wondered how spring does things? How field annotated with @Autowired is populated? How asynchronous or scheduled methods are discovered. In this post, I'm going to take a deeper look and scratch a bit on the surface of spring internals. I'll focus on BeanPostProcessor interface which can be used to achieve interesting things and is used in many various functionalities across spring framework itself. Read more

## Bootsnap: Optimizing Ruby App Boot Time

DevFeed: [Bootsnap: Optimizing Ruby App Boot Time](<https://devfeed.tech/articles/bootsnap-optimizing-ruby-app-boot-time-1308.md>)

Original publisher: [Read original article](<https://shopify.engineering/bootsnap-optimizing-ruby-app-boot-time>)

Author: Burke Libbey

Published: 2017-05-18T18:30:00Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [Ruby](<https://devfeed.tech/topics/ruby.md>), [Rails](<https://devfeed.tech/topics/rails.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [Boot Process](<https://devfeed.tech/topics/boot-process.md>), [Unit testing](<https://devfeed.tech/topics/unit-testing.md>)

Tags: [boot-process](<https://devfeed.tech/tags/boot-process.md>), [cache](<https://devfeed.tech/tags/cache.md>), [caching](<https://devfeed.tech/tags/caching.md>), [performance](<https://devfeed.tech/tags/performance.md>), [profiling](<https://devfeed.tech/tags/profiling.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

Shopify describes Bootsnap, a Ruby library that optimizes and caches expensive computations to reduce application boot time. The article focuses on improving development-server startup and unit-test startup in a large Rails monolith through path pre-scanning and compilation caching.

### Source excerpt

8 minute read Hundreds of Shopify developers work on our largest codebase, the monolithic Rails application that powers most of our product offering. There are various benefits to having a "majestic monolith," but also a few downsides. Chief among them is the amount of time people spend waiting for Rails to boot. Doing development, two of the most common tasks are running a development server and running a unit test file. By improving the performance of these tasks, we will also improve the experience for developers working on this codebase and achieve higher iteration speed. We started measuring and profiling the following code paths: Development server: time to first request Unit testing: time to first unit test