A kernel version manager for systemd-boot and AOSC OS

Overview

Your systemd-boot's best friend ever (Implemented in Rust)

A kernel version manager for systemd-boot and AOSC OS

Usage

First initialize friend and systemd-boot, this will also install the newest kernel to the specific path for systemd-boot.

systemd-boot-friend init

You can also manually choose the kernel you would like to install.

systemd-boot-friend

Subcommands are also supported, you may look up for them by executing the following command.

systemd-boot-friend --help

Installation

cargo build --release
install -Dm755 target/release/systemd-boot-friend-rs /usr/local/bin/systemd-boot-friend

Dependencies

Building:

  • Rust w/ Cargo
  • C compiler
  • make (when GCC LTO is used, not needed for Clang)

Runtime:

  • Systemd
You might also like...
An API for getting questions from http://either.io implemented fully in Rust, using reqwest and some regex magic. Provides asynchronous and blocking clients respectively.

eithers_rust An API for getting questions from http://either.io implemented fully in Rust, using reqwest and some regex magic. Provides asynchronous a

Safe, efficient, and ergonomic bindings to Wolfram LibraryLink and the Wolfram Language

wolfram-library-link Bindings to the Wolfram LibraryLink interface, making it possible to call Rust code from the Wolfram Language. This library is us

This blog provides detailed status updates and useful information about Theseus OS and its development

The Theseus OS Blog This blog provides detailed status updates and useful information about Theseus OS and its development. Attribution This blog was

Omeglib, a portmanteau of "omegle" and "library", is a crate for interacting with omegle, simply and asynchronously

Omeglib, a portmanteau of "omegle" and "library", is a crate for interacting with omegle, simply and asynchronously. It is intended to suit one's every requirement regarding chat on omegle.

Fast and simple datetime, date, time and duration parsing for rust.

speedate Fast and simple datetime, date, time and duration parsing for rust. speedate is a lax† RFC 3339 date and time parser, in other words, it pars

In this repository you can find modules with code and comments that explain rust syntax and all about Rust lang.
In this repository you can find modules with code and comments that explain rust syntax and all about Rust lang.

Learn Rust What is this? In this repository you can find modules with code and comments that explain rust syntax and all about Rust lang. This is usef

A tool and library to losslessly join multiple .mp4 files shot with same camera and settings

mp4-merge A tool and library to losslessly join multiple .mp4 files shot with same camera and settings. This is useful to merge multiple files that ar

A tray application for Windows that gives you push notifications and instant downloads of new posts, messages and stories posted by models you subscribe to on Onlyfans.

OF-notifier A tray application for Windows that gives you push notifications and instant downloads of new posts, messages and stories posted by models

A simpler and 5x faster alternative to HashMap in Rust, which doesn't use hashing and doesn't use heap

At least 5x faster alternative of HashMap, for very small maps. It is also faster than FxHashMap, hashbrown, ArrayMap, and nohash-hasher. The smaller

Comments
  • feat: improve CLI user experience

    feat: improve CLI user experience

    • init: add prompts to tell user critical changes to the system
    • init: confirm before initialization and calling update()
    • ui: Dialoguer use default simple theme
    • i18n: Update translations, wrap lines
    • macros: add print_block_with_fl!() to print message blocks without prefix
    • macros: process multi-line strings in println_with_prefix_and_fl!()
    enhancement 
    opened by OriginCode 1
  • feat: add support for setting default boot entry

    feat: add support for setting default boot entry

    • Introduce systemd-boot-conf lib, use the lib to support systemd-boot loader.conf.
    • Add support for setting a kernel as default boot entry.

    @MingcongBai Could you please help review the translation files? お願い🙇

    opened by OriginCode 1
  • New Design, 0.8.0

    New Design, 0.8.0

    Now the program parse the kernel filenames into "$VERSION-$LOCALVERSION" pattern. This design should now adapt to more distributions other than AOSC OS (probably, ~~I'm considering making the pattern customizable~~ yes it's now customizable).

    Also, it now supports multiple versions of the same $LOCALVERSION, and will automatically create the boot entry once a kernel is installed. The installed kernels will be recorded at /var/lib/systemd-boot-friend/installed.json, which is used for removing a kernel (systemd-boot-friend remove).

    This version is incompatible with the previous one.

    opened by OriginCode 1
  • [ENHANCEMENT] Adding automatic *timeshift* btrfs entries

    [ENHANCEMENT] Adding automatic *timeshift* btrfs entries

    Example:

    1. Searching for timeshift subvolumes with btrfs sub list /
    [user@machine ~]$ btrfs sub list /
    ID 256 gen 8492 top level 5 path @
    ID 257 gen 8492 top level 5 path @home
    ID 258 gen 8465 top level 5 path @cache
    ID 259 gen 8490 top level 5 path @log
    ID 261 gen 1634 top level 5 path @swap
    ID 262 gen 8466 top level 5 path timeshift-btrfs/snapshots/2022-08-30_22-00-01/@
    ID 263 gen 7271 top level 5 path timeshift-btrfs/snapshots/2022-08-30_22-00-01/@home
    
    1. Adding new entries to /boot/loader/entries/timeshift-##.conf
    
    title    Timeshift Snapshot ##
    sort-key timeshift
    linux    /vmlinuz-linux
    initrd   /intel-ucode.img
    initrd   /initramfs-linux.img
    options  root="PARTUUID=aa113366-1133-dd11-133-112233445566" ro rootflags=subvol=timeshift-btrfs/snapshots/2022-08-30_22-00-01/@
    
    opened by ManuLinares 0
Owner
AOSC-Dev
Anthon Open Source Community Development Hub
AOSC-Dev
`memory_pages` is a small library provinig a cross-platform API to request pages from kernel with certain premisions

memory_pages: High level API for low level memory management While using low-level memory management in a project can provide substantial benefits, it

null 14 Mar 30, 2023
A rust version of "the super tiny compiler"

The (Rust) super tiny compiler This project is a rust version of the super tiny compiler (the original one (JS) was created by Jamie Kyle). The output

Eduardo Stuart 6 Dec 25, 2022
Modern Rust utility library delivering modularity, performance & extras; or simply Rust version of Lodash

Lorust - API Documentation Lorust is the Rust version of Lodash, which is a modern Javascript utilty library delivering modularity, performance & extr

Imamuzzaki Abu Salam 2 Jul 9, 2023
(early experiments toward) a version-control system for structured data

chit: (early experiments toward) a version-control system for structured data please note, very little is actually implemented here. this is not usefu

davidad (David A. Dalrymple) 3 Jul 24, 2023
A perfect smoother; A discrete time version of spline smoothing for equally spaced data

Whittaker Smoother Aka Whittaker-Henderson, Whittaker-Eilers Smoother is known as the perfect smoother. Its a discrete-time version of spline smoothin

Mathis Wellmann 3 Aug 12, 2023
A minimal version of 'grep' implemented in Rust. Exercise in the "The Rust Programming Language" book.

Minigrep - A simple grep-like tool implemented in Rust This simple CLI tool searches for a given pattern in a specified file and as a result, it print

Filip Szutkowski 3 Mar 15, 2024
Small programs written in Rust. Warm up for the upcoming Selenium Manager

Rust Examples This repository contains several example programs written in Rust. Selenium Manager These examples are used as warm up for the upcoming

Boni García 5 Dec 30, 2022
A simple local storage media library manager.

OFFFLIX A simple application to auto manage series on your local storage. Features Resume watching Play next episode Auto increment season Play random

null 33 Mar 7, 2023
Blazing fast, memory safe & modern Linux package manager written in Rust.

paket Blazing fast, memory safe & modern Linux package manager written in Rust. Roadmap Version: 0.1 Paket.toml file parsing. (#1, #2) CLI handling (p

null 4 Oct 19, 2023