2023-09-28T23:49:49,293 Created temporary directory: /tmp/pip-build-tracker-m6l5418f 2023-09-28T23:49:49,294 Initialized build tracking at /tmp/pip-build-tracker-m6l5418f 2023-09-28T23:49:49,295 Created build tracker: /tmp/pip-build-tracker-m6l5418f 2023-09-28T23:49:49,295 Entered build tracker: /tmp/pip-build-tracker-m6l5418f 2023-09-28T23:49:49,296 Created temporary directory: /tmp/pip-wheel-tbuj4l4x 2023-09-28T23:49:49,299 Created temporary directory: /tmp/pip-ephem-wheel-cache-wx0ol6ls 2023-09-28T23:49:49,321 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-09-28T23:49:49,325 2 location(s) to search for versions of funtoo-ramdisk: 2023-09-28T23:49:49,325 * https://pypi.org/simple/funtoo-ramdisk/ 2023-09-28T23:49:49,325 * https://www.piwheels.org/simple/funtoo-ramdisk/ 2023-09-28T23:49:49,326 Fetching project page and analyzing links: https://pypi.org/simple/funtoo-ramdisk/ 2023-09-28T23:49:49,326 Getting page https://pypi.org/simple/funtoo-ramdisk/ 2023-09-28T23:49:49,328 Found index url https://pypi.org/simple/ 2023-09-28T23:49:49,547 Fetched page https://pypi.org/simple/funtoo-ramdisk/ as application/vnd.pypi.simple.v1+json 2023-09-28T23:49:49,550 Found link https://files.pythonhosted.org/packages/d3/2f/2d92b7aef92983cdfbe7e0809b00e5ffa9ff699c73ad53e501b93dfd5e7f/funtoo-ramdisk-1.0.0.tar.gz (from https://pypi.org/simple/funtoo-ramdisk/) (requires-python:>=3.7), version: 1.0.0 2023-09-28T23:49:49,551 Found link https://files.pythonhosted.org/packages/f7/ce/2b2669f5181ad3da55bdb4c0b7e78f1a1f02a52cf6f4d26da363b98b0ff6/funtoo-ramdisk-1.0.1.tar.gz (from https://pypi.org/simple/funtoo-ramdisk/) (requires-python:>=3.7), version: 1.0.1 2023-09-28T23:49:49,553 Found link https://files.pythonhosted.org/packages/f9/fa/646343cf9f6313cf3808fc13d1f0e047a0f044afbdd7c60d76613a4da543/funtoo-ramdisk-1.0.2.tar.gz (from https://pypi.org/simple/funtoo-ramdisk/) (requires-python:>=3.7), version: 1.0.2 2023-09-28T23:49:49,554 Found link https://files.pythonhosted.org/packages/33/8b/67d6030fe5aca53d240d6f4fb5cc6319918ed0c9310866a074c27ceebdf7/funtoo-ramdisk-1.0.3.tar.gz (from https://pypi.org/simple/funtoo-ramdisk/) (requires-python:>=3.7), version: 1.0.3 2023-09-28T23:49:49,555 Found link https://files.pythonhosted.org/packages/3f/13/0c6d2f9e8ae74fe6fc8a290bfbb7b389818e7a7b82d158ff20e9251e5c89/funtoo-ramdisk-1.0.4.tar.gz (from https://pypi.org/simple/funtoo-ramdisk/) (requires-python:>=3.7), version: 1.0.4 2023-09-28T23:49:49,555 Found link https://files.pythonhosted.org/packages/b2/7e/d3590830418ed3e696c6e922ead5a50daee4c8c2136b315153fcee0377a2/funtoo-ramdisk-1.0.5.tar.gz (from https://pypi.org/simple/funtoo-ramdisk/) (requires-python:>=3.7), version: 1.0.5 2023-09-28T23:49:49,556 Found link https://files.pythonhosted.org/packages/ed/be/18b4d837c37a78a43accd3347db70d3dc5bafd48b668d1f45d1b92172a00/funtoo-ramdisk-1.0.6.tar.gz (from https://pypi.org/simple/funtoo-ramdisk/) (requires-python:>=3.7), version: 1.0.6 2023-09-28T23:49:49,557 Found link https://files.pythonhosted.org/packages/5b/af/89829fafc0fdc46f515dcc45cac43a14a333f10703d9e77e2f07b75f9315/funtoo-ramdisk-1.0.7.tar.gz (from https://pypi.org/simple/funtoo-ramdisk/) (requires-python:>=3.7), version: 1.0.7 2023-09-28T23:49:49,558 Found link https://files.pythonhosted.org/packages/7c/a6/12d689149a2f7695776cc1c97dba03d1baabbf2451e4bf7c28ccdd2ae4d3/funtoo-ramdisk-1.1.0.tar.gz (from https://pypi.org/simple/funtoo-ramdisk/) (requires-python:>=3.7), version: 1.1.0 2023-09-28T23:49:49,559 Found link https://files.pythonhosted.org/packages/cd/f2/c7a93f91f1c06e4e7697f4cb1af5ff1afa2e7e20c8ba456c0b6820a1e9ca/funtoo-ramdisk-1.1.1.tar.gz (from https://pypi.org/simple/funtoo-ramdisk/) (requires-python:>=3.7), version: 1.1.1 2023-09-28T23:49:49,560 Found link https://files.pythonhosted.org/packages/5c/80/ca623eaa36c300bb5ae15cafcc2e31d47cd6c3b8e6fda88377ba1dce4daa/funtoo-ramdisk-1.1.2.tar.gz (from https://pypi.org/simple/funtoo-ramdisk/) (requires-python:>=3.7), version: 1.1.2 2023-09-28T23:49:49,561 Found link https://files.pythonhosted.org/packages/71/ee/28d91ae310a7a95ed7ba0ef51c19acc865ff5241180c22a0523f79e3c434/funtoo-ramdisk-1.1.3.tar.gz (from https://pypi.org/simple/funtoo-ramdisk/) (requires-python:>=3.7), version: 1.1.3 2023-09-28T23:49:49,562 Found link https://files.pythonhosted.org/packages/58/6e/6870840ee61954a50a065a346153b1346608b4bf083aaf4f825e77318e90/funtoo-ramdisk-1.1.4.tar.gz (from https://pypi.org/simple/funtoo-ramdisk/) (requires-python:>=3.7), version: 1.1.4 2023-09-28T23:49:49,563 Found link https://files.pythonhosted.org/packages/ae/7d/97e4fb2652319c7a1d66b54f0145546d9a76d8955041931bc78fba6d6ab9/funtoo-ramdisk-1.1.5.tar.gz (from https://pypi.org/simple/funtoo-ramdisk/) (requires-python:>=3.7), version: 1.1.5 2023-09-28T23:49:49,564 Fetching project page and analyzing links: https://www.piwheels.org/simple/funtoo-ramdisk/ 2023-09-28T23:49:49,564 Getting page https://www.piwheels.org/simple/funtoo-ramdisk/ 2023-09-28T23:49:49,565 Found index url https://www.piwheels.org/simple/ 2023-09-28T23:49:49,731 Fetched page https://www.piwheels.org/simple/funtoo-ramdisk/ as text/html 2023-09-28T23:49:49,735 Skipping link: No binaries permitted for funtoo-ramdisk: https://www.piwheels.org/simple/funtoo-ramdisk/funtoo_ramdisk-1.1.2-py3-none-any.whl#sha256=3d74e5ebfd1cccc7b8f485c95d434ef9e8bc1a4716f8a22b08a259452a4c73bc (from https://www.piwheels.org/simple/funtoo-ramdisk/) (requires-python:>=3.7) 2023-09-28T23:49:49,736 Skipping link: No binaries permitted for funtoo-ramdisk: https://www.piwheels.org/simple/funtoo-ramdisk/funtoo_ramdisk-1.1.1-py3-none-any.whl#sha256=ad2dcafb5a8dceeea14bdbede73669479db69fb3cca89c6392aa3c2e688b15c0 (from https://www.piwheels.org/simple/funtoo-ramdisk/) (requires-python:>=3.7) 2023-09-28T23:49:49,736 Skipping link: No binaries permitted for funtoo-ramdisk: https://www.piwheels.org/simple/funtoo-ramdisk/funtoo_ramdisk-1.1.0-py3-none-any.whl#sha256=1a4604cec4d133454e7d49d6b8046ecac63c5d35bee972e0b83d7c642519b1fe (from https://www.piwheels.org/simple/funtoo-ramdisk/) (requires-python:>=3.7) 2023-09-28T23:49:49,737 Skipping link: No binaries permitted for funtoo-ramdisk: https://www.piwheels.org/simple/funtoo-ramdisk/funtoo_ramdisk-1.0.7-py3-none-any.whl#sha256=1d5973cefc4213fd86b3c2d588147d819d85b297838aec0f76a7083c038f897d (from https://www.piwheels.org/simple/funtoo-ramdisk/) (requires-python:>=3.7) 2023-09-28T23:49:49,737 Skipping link: No binaries permitted for funtoo-ramdisk: https://www.piwheels.org/simple/funtoo-ramdisk/funtoo_ramdisk-1.0.6-py3-none-any.whl#sha256=f40079c99c437f3949147af63efa1e16713bbe6101b4fde69e8de5ea434306e3 (from https://www.piwheels.org/simple/funtoo-ramdisk/) (requires-python:>=3.7) 2023-09-28T23:49:49,738 Skipping link: No binaries permitted for funtoo-ramdisk: https://www.piwheels.org/simple/funtoo-ramdisk/funtoo_ramdisk-1.0.5-py3-none-any.whl#sha256=3451404b0e9f527100407bfd4f343cfe9197b5f6f9bab7e5f6494ce9ea2bafff (from https://www.piwheels.org/simple/funtoo-ramdisk/) (requires-python:>=3.7) 2023-09-28T23:49:49,739 Skipping link: No binaries permitted for funtoo-ramdisk: https://www.piwheels.org/simple/funtoo-ramdisk/funtoo_ramdisk-1.0.4-py3-none-any.whl#sha256=54c976a5a708a542266aa1f9c2584634ecaa529c6564bbef4c66d65012ced852 (from https://www.piwheels.org/simple/funtoo-ramdisk/) (requires-python:>=3.7) 2023-09-28T23:49:49,739 Skipping link: No binaries permitted for funtoo-ramdisk: https://www.piwheels.org/simple/funtoo-ramdisk/funtoo_ramdisk-1.0.3-py3-none-any.whl#sha256=cde4241106db6ca7c0bd04d0f1817c5f352fc45c46e5b75df9b1cf0dcd977234 (from https://www.piwheels.org/simple/funtoo-ramdisk/) (requires-python:>=3.7) 2023-09-28T23:49:49,740 Skipping link: No binaries permitted for funtoo-ramdisk: https://www.piwheels.org/simple/funtoo-ramdisk/funtoo_ramdisk-1.0.2-py3-none-any.whl#sha256=6e70627cb0da3859494b41255b0ba8bf164c16221b5779924cc3b5fd12a0a928 (from https://www.piwheels.org/simple/funtoo-ramdisk/) (requires-python:>=3.7) 2023-09-28T23:49:49,740 Skipping link: No binaries permitted for funtoo-ramdisk: https://www.piwheels.org/simple/funtoo-ramdisk/funtoo_ramdisk-1.0.1-py3-none-any.whl#sha256=232a400779c3abd15ac70e995c47347a69f669d1ce4d4e4ced81b43b3a6b6c30 (from https://www.piwheels.org/simple/funtoo-ramdisk/) (requires-python:>=3.7) 2023-09-28T23:49:49,741 Skipping link: No binaries permitted for funtoo-ramdisk: https://www.piwheels.org/simple/funtoo-ramdisk/funtoo_ramdisk-1.0.0-py3-none-any.whl#sha256=cb61659ae06f4e370b5de5a9a3e3041eeaaa193ec1b45e1a0948b75d7ca922f2 (from https://www.piwheels.org/simple/funtoo-ramdisk/) (requires-python:>=3.7) 2023-09-28T23:49:49,742 Skipping link: not a file: https://www.piwheels.org/simple/funtoo-ramdisk/ 2023-09-28T23:49:49,742 Skipping link: not a file: https://pypi.org/simple/funtoo-ramdisk/ 2023-09-28T23:49:49,762 Given no hashes to check 1 links for project 'funtoo-ramdisk': discarding no candidates 2023-09-28T23:49:49,786 Collecting funtoo-ramdisk==1.1.3 2023-09-28T23:49:49,789 Created temporary directory: /tmp/pip-unpack-76tm312o 2023-09-28T23:49:50,015 Downloading funtoo-ramdisk-1.1.3.tar.gz (32 kB) 2023-09-28T23:49:50,099 Added funtoo-ramdisk==1.1.3 from https://files.pythonhosted.org/packages/71/ee/28d91ae310a7a95ed7ba0ef51c19acc865ff5241180c22a0523f79e3c434/funtoo-ramdisk-1.1.3.tar.gz to build tracker '/tmp/pip-build-tracker-m6l5418f' 2023-09-28T23:49:50,100 Running setup.py (path:/tmp/pip-wheel-tbuj4l4x/funtoo-ramdisk_dfb9c6257da145bf9a0941a4acc75f76/setup.py) egg_info for package funtoo-ramdisk 2023-09-28T23:49:50,101 Created temporary directory: /tmp/pip-pip-egg-info-nc4g5_bp 2023-09-28T23:49:50,101 Preparing metadata (setup.py): started 2023-09-28T23:49:50,103 Running command python setup.py egg_info 2023-09-28T23:49:50,501 ************** 2023-09-28T23:49:50,501 Funtoo Ramdisk 2023-09-28T23:49:50,502 ************** 2023-09-28T23:49:50,503 Copyright 2023 Daniel Robbins, Funtoo Solutions, Inc. 2023-09-28T23:49:50,504 Licensed under the Apache License, Version 2.0 (the "License"); 2023-09-28T23:49:50,505 you may not use this file except in compliance with the License. 2023-09-28T23:49:50,505 You may obtain a copy of the License at 2023-09-28T23:49:50,506 http://www.apache.org/licenses/LICENSE-2.0 2023-09-28T23:49:50,507 Unless required by applicable law or agreed to in writing, software 2023-09-28T23:49:50,508 distributed under the License is distributed on an "AS IS" BASIS, 2023-09-28T23:49:50,508 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 2023-09-28T23:49:50,509 See the License for the specific language governing permissions and 2023-09-28T23:49:50,509 limitations under the License. 2023-09-28T23:49:50,511 Introduction 2023-09-28T23:49:50,511 ============ 2023-09-28T23:49:50,512 The Funtoo ramdisk tool, called ``ramdisk`` is a stand-alone tool to create an 2023-09-28T23:49:50,513 initial RAM disk filesystem (initramfs) for booting your Linux system. 2023-09-28T23:49:50,514 The internal initramfs logic is based on the logic found in Gentoo Linux's 2023-09-28T23:49:50,515 genkernel tool, but has been rewritten to be simpler and more efficient. 2023-09-28T23:49:50,516 You can use this tool to create an initramfs to boot to a Funtoo Linux root 2023-09-28T23:49:50,516 ext4 or XFS filesystem, which is what we support in our official installation 2023-09-28T23:49:50,517 documentation at https://www.funtoo.org/Install -- but that's about it. 2023-09-28T23:49:50,518 What's Not Included 2023-09-28T23:49:50,519 =================== 2023-09-28T23:49:50,520 Nearly all "extra" genkernel features are intentionally not yet implemented. 2023-09-28T23:49:50,520 This tool doesn't build your kernel or modules. 2023-09-28T23:49:50,521 It also currently doesn't support dmraid, zfs, btrfs, encrypted root, or LiveCD 2023-09-28T23:49:50,522 or LiveUSB booting. 2023-09-28T23:49:50,523 Why not? Because one of the main design goals of this project is to create a 2023-09-28T23:49:50,524 very elegant and easy-to-understand initramfs whose core logic is not cluttered 2023-09-28T23:49:50,524 with tons of complicated features. To start from a clean slate, we are starting 2023-09-28T23:49:50,525 from very minimal functionality and then will very carefully add back various 2023-09-28T23:49:50,525 features while keeping the code clean, simple, elegant and effective. 2023-09-28T23:49:50,526 What's Included 2023-09-28T23:49:50,527 =============== 2023-09-28T23:49:50,528 So, what *does* Funtoo's ramdisk tool actually offer? Here's a list: 2023-09-28T23:49:50,528 * genkernel-style initramfs without the cruft. In comparison to genkernel's 2023-09-28T23:49:50,529 initramfs, the shell code is about 10x simpler and a lot cleaner and has 2023-09-28T23:49:50,529 been modernized. About 100 lines of shell script, with another 215 lines 2023-09-28T23:49:50,530 of functions in a support file. 2023-09-28T23:49:50,531 * Copies over the modules you specify -- and automatically figures out any 2023-09-28T23:49:50,531 kernel module dependencies, so any depended-upon modules are also copied. 2023-09-28T23:49:50,531 This eliminates the need to track these dependencies manually. 2023-09-28T23:49:50,532 * Rootless operation. You do not need enhanced privileges to create the 2023-09-28T23:49:50,533 initramfs. 2023-09-28T23:49:50,534 * You can read the ``linuxrc`` script and actually understand what it does. 2023-09-28T23:49:50,534 It is written to be easy to understand and adapt. So it's not just short, 2023-09-28T23:49:50,534 but easy to grasp. 2023-09-28T23:49:50,535 * Enhanced module loading engine on the initramfs which is significantly 2023-09-28T23:49:50,536 faster than genkernel. This effectively eliminates the "watching the 2023-09-28T23:49:50,536 stream of useless modules being loaded" issue with genkernel. Modern 2023-09-28T23:49:50,537 systems with NVMe drives will load just a handful of modules to boot 2023-09-28T23:49:50,537 -- all without requiring any special action from the user. 2023-09-28T23:49:50,539 * "kpop" functionality allows for building ramdisks with just the modules 2023-09-28T23:49:50,539 you need. For example, ``ramdisk --kpop=nvme,ext4`` will create a 2023-09-28T23:49:50,540 ramdisk that can boot on NVMe ext4 root filesystems, and only include 2023-09-28T23:49:50,540 these necessary modules, leaving all other modules to be loaded by 2023-09-28T23:49:50,541 your Funtoo Linux system. 2023-09-28T23:49:50,542 * Effective Python-based command to actually build the ramdisk, which is 2023-09-28T23:49:50,543 called: ``ramdisk``. This gives us an extensible platform for the future. 2023-09-28T23:49:50,544 * Enhanced ini-style system for selecting modules to include on your initramfs. 2023-09-28T23:49:50,544 * Enhanced ini-style system for selecting module groups to autoload on the initramfs. 2023-09-28T23:49:50,545 * Support for xz and zstd compression. 2023-09-28T23:49:50,546 How To Use It 2023-09-28T23:49:50,547 ============= 2023-09-28T23:49:50,548 First, install the package, via ``emerge ramdisk`` on Funtoo Linux, or alternatively 2023-09-28T23:49:50,548 ``pip3 install --user funtoo-ramdisk``. You will then have a ``ramdisk`` command 2023-09-28T23:49:50,549 in your path, which can be used to build a ramdisk. 2023-09-28T23:49:50,550 Then, as a regular user, you can run:: 2023-09-28T23:49:50,551 ramdisk /var/tmp/my-new-initramfs 2023-09-28T23:49:50,551 sudo cp /var/tmp/my-new-initramfs /boot 2023-09-28T23:49:50,553 By default, ``ramdisk`` will use your ``/usr/src/linux`` symlink to determine which 2023-09-28T23:49:50,553 kernel to use to build a ramdisk for. It will parse ``/usr/src/linux/Makefile``, 2023-09-28T23:49:50,554 extract kernel version information, and then find the appropriate directory in 2023-09-28T23:49:50,554 ``/lib/modules/`` for copying modules. You can type: 2023-09-28T23:49:50,555 ``ramdisk list kernels`` and ``ramdisk --kernel `` to build a ramdisk 2023-09-28T23:49:50,555 for a non-default kernel. 2023-09-28T23:49:50,556 Since this is brand-new software, it is highly recommended that you DO NOT OVERWRITE 2023-09-28T23:49:50,557 YOUR EXISTING, WORKING INITRAMFS THAT YOU CURRENTLY USE TO BOOT YOUR SYSTEM. 2023-09-28T23:49:50,558 Instead -- create a NEW BOOT ENTRY to test your initramfs. In GRUB, you can also 2023-09-28T23:49:50,559 press 'e' to edit an entry and type in the name of the new initramfs to give it a try. 2023-09-28T23:49:50,559 Enjoy -- and let me know how it works for you! Please report issues and feature 2023-09-28T23:49:50,560 requests to https://bugs.funtoo.org. 2023-09-28T23:49:50,561 ChangeLog 2023-09-28T23:49:50,562 ========= 2023-09-28T23:49:50,562 funtoo-ramdisk 1.1.3 2023-09-28T23:49:50,563 -------------------- 2023-09-28T23:49:50,563 Released on September 14, 2023. 2023-09-28T23:49:50,564 * FL-11606: ``/sbin/blkid`` can't be run as non-root, and will 2023-09-28T23:49:50,565 trigger a sandbox violation inside an ebuild. So don't do it -- 2023-09-28T23:49:50,565 we were just running it to convieniently spit out the UUID for 2023-09-28T23:49:50,566 the user to put in their ``/etc/fstab``. Now we instruct the 2023-09-28T23:49:50,566 user to run ``blkid`` as root and avoid the sandbox violation. 2023-09-28T23:49:50,567 funtoo-ramdisk 1.1.2 2023-09-28T23:49:50,568 -------------------- 2023-09-28T23:49:50,569 Released on September 4, 2023. 2023-09-28T23:49:50,569 * Fix exit code (zero on success.) 2023-09-28T23:49:50,571 funtoo-ramdisk 1.1.1 2023-09-28T23:49:50,571 -------------------- 2023-09-28T23:49:50,572 Released on September 4, 2023. 2023-09-28T23:49:50,573 Fix three bugs: 2023-09-28T23:49:50,574 * Allow plugins to be loaded when installed in ``site-packages``. 2023-09-28T23:49:50,575 * Don't assume ``/usr/src/linux`` symlink exists in two places and 2023-09-28T23:49:50,575 handle this situation gracefully. This situation may exist during 2023-09-28T23:49:50,576 metro builds on incomplete systems. (2 bugs fixed). 2023-09-28T23:49:50,577 funtoo-ramdisk 1.1.0 2023-09-28T23:49:50,578 -------------------- 2023-09-28T23:49:50,579 Released on September 3, 2023. 2023-09-28T23:49:50,580 * Add plugin system for ramdisk: 2023-09-28T23:49:50,582 To use, pass ``--enable=,``. The ``core`` plugin is 2023-09-28T23:49:50,582 always enabled and copies ``/sbin/blkid``. There are currently ``btrfs`` 2023-09-28T23:49:50,583 and ``lvm`` plugins as well -- these are not yet fully-implemented and 2023-09-28T23:49:50,583 just ensure necessary binaries are copied over (no extra setup commands 2023-09-28T23:49:50,584 are run by the initramfs.) 2023-09-28T23:49:50,585 This is a starting point for enabling support for advanced 2023-09-28T23:49:50,586 features on the initramfs. 2023-09-28T23:49:50,587 * New "module configurations". The default module configuration is "full", 2023-09-28T23:49:50,587 which means "make a ramdisk with lots of modules to support a lot of 2023-09-28T23:49:50,588 hardware." Different module configurations can be added in the future. 2023-09-28T23:49:50,588 Module configurations can be specified via ``--kmod_config=``. 2023-09-28T23:49:50,589 * ``--kpop=`` feature to make minimal module ramdisks by specifying a 2023-09-28T23:49:50,590 dynamic module configuration via the command-line, rather than via 2023-09-28T23:49:50,590 static config files. 2023-09-28T23:49:50,592 If you specify ``--kpop=nvme,ext4`` then a ramdisk with just those 2023-09-28T23:49:50,592 modules (and their dependencies) will be included. This can dramatically 2023-09-28T23:49:50,593 reduce the size of your ramdisk. Note that this doesn't include the 2023-09-28T23:49:50,593 necessary modules to allow USB keyboards to work in the rescue shell, 2023-09-28T23:49:50,594 so it's only for known-good configurations. Enabling this feature also 2023-09-28T23:49:50,595 disables any static module configuration (see above.) 2023-09-28T23:49:50,596 * Change the binary plugin API so lists of binaries can be dynamically 2023-09-28T23:49:50,596 created and programmatic decisions can be made. Previously, we used a 2023-09-28T23:49:50,597 static list. This allows us to use ``lvm.static`` if available, but 2023-09-28T23:49:50,598 fall back to dynamic ``lvm``, for example. 2023-09-28T23:49:50,598 * To support ``kpop`` functionality, the ability to add a module by its 2023-09-28T23:49:50,599 basic name, not just via its full path or glob, was added to 2023-09-28T23:49:50,599 ``modules.copy``. 2023-09-28T23:49:50,600 * Modules code can now accept ``modules.copy`` and ``modules.autoload`` 2023-09-28T23:49:50,600 as dynamically-generated line data rather than just as static files 2023-09-28T23:49:50,601 that must exist on the filesystem. (Again, used by ``kpop``). 2023-09-28T23:49:50,602 * ``linuxrc`` has been improved/fixed to not have a hard-coded list of 2023-09-28T23:49:50,602 module groups to try to load, and instead use the ``modules.autoload`` 2023-09-28T23:49:50,603 groups to determine these. 2023-09-28T23:49:50,604 * ``ramdisk list kernels`` and ``ramdisk list plugins`` actions added. 2023-09-28T23:49:50,604 The former makes use of ``ramdisk --kernel `` easier because it 2023-09-28T23:49:50,605 prints the available kernel names which can be copy/pasted for the 2023-09-28T23:49:50,605 ``--kernel`` option. 2023-09-28T23:49:50,606 * Implemented our own argument parsing as ``argparse`` was not worth 2023-09-28T23:49:50,607 using. 2023-09-28T23:49:50,608 * Lots of code organized into their own ``.py`` files. 2023-09-28T23:49:50,608 * Make ``/etc/fstab`` sanity check a warning as this file may not be 2023-09-28T23:49:50,609 set up at all if doing a metro build. 2023-09-28T23:49:50,610 * Disable colors if we don't have an interactive shell. 2023-09-28T23:49:50,612 funtoo-ramdisk 1.0.7 2023-09-28T23:49:50,612 -------------------- 2023-09-28T23:49:50,614 Released on August 22, 2023. 2023-09-28T23:49:50,615 Changes: 2023-09-28T23:49:50,616 * Get rid of ``--modules_root``. Instead, added ``--fs_root`` which 2023-09-28T23:49:50,617 specifies where modules *and* the kernel sources will be. This 2023-09-28T23:49:50,618 allows the tool to work from an ebuild. 2023-09-28T23:49:50,619 * Improve output and add nice colors. Optimize information to be 2023-09-28T23:49:50,619 more useful to users. 2023-09-28T23:49:50,621 funtoo-ramdisk 1.0.6 2023-09-28T23:49:50,621 -------------------- 2023-09-28T23:49:50,623 Released on August 21, 2023. 2023-09-28T23:49:50,624 Two new options: 2023-09-28T23:49:50,625 * ``--modules_root`` to set the root filesystem to scan for modules. 2023-09-28T23:49:50,626 It defaults to ``/``. 2023-09-28T23:49:50,627 * ``--temp_root`` to set the default path to use for creating a 2023-09-28T23:49:50,628 temporary directory. It defaults to ``/var/tmp``. 2023-09-28T23:49:50,629 funtoo-ramdisk 1.0.5 2023-09-28T23:49:50,629 -------------------- 2023-09-28T23:49:50,630 Released on August 21, 2023. 2023-09-28T23:49:50,631 This is a features/maintenance/bug fix release. 2023-09-28T23:49:50,632 In addition to a bunch of minor fixes and clean-ups, which you can 2023-09-28T23:49:50,633 view in the git history, the following significant changes were 2023-09-28T23:49:50,634 made: 2023-09-28T23:49:50,635 * Use kmod ``/sbin/modprobe`` instead of busybox's modprobe. Busybox's modprobe 2023-09-28T23:49:50,635 may be fine, but for it to work, we must use busybox's ``depmod`` -- and we're 2023-09-28T23:49:50,636 not. We're using ``kmod``'s. So for now, let's just copy the right modprobe 2023-09-28T23:49:50,637 over. This fixes an issue where we get invalid symbols when loading modules 2023-09-28T23:49:50,637 using busybox ``modprobe``. ``modprobe`` is now resolving deps properly! :) 2023-09-28T23:49:50,638 At some point, we could make a "toggle" to select kmod/busybox mode. The 2023-09-28T23:49:50,639 best time to run ``depmod`` for busybox is probably once the ramdisk first 2023-09-28T23:49:50,640 boots, since it doesn't have a "root" option, making it hard to call from our 2023-09-28T23:49:50,641 ramdisk script. 2023-09-28T23:49:50,642 * Remove unused control character definitions in ``initrd.defaults``. 2023-09-28T23:49:50,642 * Mitigate an issue where ``ash`` shell could start before all USB keyboards 2023-09-28T23:49:50,643 have been detected, resulting in lack of input. We now wait 5 seconds 2023-09-28T23:49:50,643 before starting a rescue shell, to give the kernel time to enumerate 2023-09-28T23:49:50,644 devices on the USB2/3 bus. This isn't a full fix, but should resolve 2023-09-28T23:49:50,644 the problem of ``ash`` starting and not having any way to type, because 2023-09-28T23:49:50,644 it didn't connect to your main keyboard. 2023-09-28T23:49:50,645 Try to work around issues related to ATA/SCSI disk enumeration which could 2023-09-28T23:49:50,646 prevent the root filesystem from being mounted (see FL-11532). 2023-09-28T23:49:50,647 * Detect when a user has a ``/dev/sd*`` root block device and warn them that 2023-09-28T23:49:50,647 this is not a good idea, and can cause problems if you have multiple 2023-09-28T23:49:50,648 disks. Show them how to fix the problem by switching to UUID. 2023-09-28T23:49:50,649 * Remove scsi_debug module which is evil and if we force-load it, will create 2023-09-28T23:49:50,649 a new SCSI device 8MB in size and trigger the problem above for anyone 2023-09-28T23:49:50,649 with a SATA disk. 2023-09-28T23:49:50,650 * To implement above feature, added a feature to allow masking of modules in 2023-09-28T23:49:50,651 ``modules.copy`` via "-mod_shortname" in a specific section. Also added a 2023-09-28T23:49:50,651 lot of sanity checking and warnings. If you happen to mask a module in the 2023-09-28T23:49:50,652 wrong section, so it still gets included on the initramfs due to other 2023-09-28T23:49:50,652 section(s), we will warn you. 2023-09-28T23:49:50,654 funtoo-ramdisk 1.0.4 2023-09-28T23:49:50,655 -------------------- 2023-09-28T23:49:50,656 Released on August 18, 2023. 2023-09-28T23:49:50,657 This is a maintenance/bug fix release. 2023-09-28T23:49:50,659 * Fix ability to run from the git repo. This wasn't working. 2023-09-28T23:49:50,661 * Fix issue found by grouche, where if a module is built-in to the 2023-09-28T23:49:50,661 kernel but listed in ``modules.autoload``, ``ramdisk`` would throw 2023-09-28T23:49:50,662 an error because it would think it's not copied to the initramfs. 2023-09-28T23:49:50,663 We now read in the ``modules.builtin`` file and use this in the 2023-09-28T23:49:50,663 internal logic -- if a module is built-in to the kernel, we can 2023-09-28T23:49:50,664 not worry if it is our ``modules.autoload`` list. We still have it. 2023-09-28T23:49:50,665 We will also not worry about trying to load it at boot. 2023-09-28T23:49:50,666 * Add a debug output whenever a module is referenced that is actually 2023-09-28T23:49:50,666 a built-in. This helps to audit the behavior of the above 2023-09-28T23:49:50,667 functionality and could be useful to users of the tool as well. 2023-09-28T23:49:50,668 * Announce we are in debug mode with ``log.info()`` instead of a 2023-09-28T23:49:50,669 warning. Looks a bit nicer. 2023-09-28T23:49:51,109 running egg_info 2023-09-28T23:49:51,110 creating /tmp/pip-pip-egg-info-nc4g5_bp/funtoo_ramdisk.egg-info 2023-09-28T23:49:51,135 writing /tmp/pip-pip-egg-info-nc4g5_bp/funtoo_ramdisk.egg-info/PKG-INFO 2023-09-28T23:49:51,139 writing dependency_links to /tmp/pip-pip-egg-info-nc4g5_bp/funtoo_ramdisk.egg-info/dependency_links.txt 2023-09-28T23:49:51,142 writing requirements to /tmp/pip-pip-egg-info-nc4g5_bp/funtoo_ramdisk.egg-info/requires.txt 2023-09-28T23:49:51,143 writing top-level names to /tmp/pip-pip-egg-info-nc4g5_bp/funtoo_ramdisk.egg-info/top_level.txt 2023-09-28T23:49:51,146 writing manifest file '/tmp/pip-pip-egg-info-nc4g5_bp/funtoo_ramdisk.egg-info/SOURCES.txt' 2023-09-28T23:49:51,267 reading manifest file '/tmp/pip-pip-egg-info-nc4g5_bp/funtoo_ramdisk.egg-info/SOURCES.txt' 2023-09-28T23:49:51,269 reading manifest template 'MANIFEST.in' 2023-09-28T23:49:51,277 writing manifest file '/tmp/pip-pip-egg-info-nc4g5_bp/funtoo_ramdisk.egg-info/SOURCES.txt' 2023-09-28T23:49:51,387 Preparing metadata (setup.py): finished with status 'done' 2023-09-28T23:49:51,391 Source in /tmp/pip-wheel-tbuj4l4x/funtoo-ramdisk_dfb9c6257da145bf9a0941a4acc75f76 has version 1.1.3, which satisfies requirement funtoo-ramdisk==1.1.3 from https://files.pythonhosted.org/packages/71/ee/28d91ae310a7a95ed7ba0ef51c19acc865ff5241180c22a0523f79e3c434/funtoo-ramdisk-1.1.3.tar.gz 2023-09-28T23:49:51,392 Removed funtoo-ramdisk==1.1.3 from https://files.pythonhosted.org/packages/71/ee/28d91ae310a7a95ed7ba0ef51c19acc865ff5241180c22a0523f79e3c434/funtoo-ramdisk-1.1.3.tar.gz from build tracker '/tmp/pip-build-tracker-m6l5418f' 2023-09-28T23:49:51,399 Created temporary directory: /tmp/pip-unpack-1i671ro5 2023-09-28T23:49:51,400 Created temporary directory: /tmp/pip-unpack-frzocw7e 2023-09-28T23:49:51,405 Building wheels for collected packages: funtoo-ramdisk 2023-09-28T23:49:51,408 Created temporary directory: /tmp/pip-wheel-a_olylau 2023-09-28T23:49:51,409 Building wheel for funtoo-ramdisk (setup.py): started 2023-09-28T23:49:51,410 Destination directory: /tmp/pip-wheel-a_olylau 2023-09-28T23:49:51,411 Running command python setup.py bdist_wheel 2023-09-28T23:49:51,826 ************** 2023-09-28T23:49:51,826 Funtoo Ramdisk 2023-09-28T23:49:51,827 ************** 2023-09-28T23:49:51,828 Copyright 2023 Daniel Robbins, Funtoo Solutions, Inc. 2023-09-28T23:49:51,828 Licensed under the Apache License, Version 2.0 (the "License"); 2023-09-28T23:49:51,829 you may not use this file except in compliance with the License. 2023-09-28T23:49:51,829 You may obtain a copy of the License at 2023-09-28T23:49:51,830 http://www.apache.org/licenses/LICENSE-2.0 2023-09-28T23:49:51,831 Unless required by applicable law or agreed to in writing, software 2023-09-28T23:49:51,832 distributed under the License is distributed on an "AS IS" BASIS, 2023-09-28T23:49:51,832 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 2023-09-28T23:49:51,833 See the License for the specific language governing permissions and 2023-09-28T23:49:51,833 limitations under the License. 2023-09-28T23:49:51,834 Introduction 2023-09-28T23:49:51,835 ============ 2023-09-28T23:49:51,836 The Funtoo ramdisk tool, called ``ramdisk`` is a stand-alone tool to create an 2023-09-28T23:49:51,836 initial RAM disk filesystem (initramfs) for booting your Linux system. 2023-09-28T23:49:51,837 The internal initramfs logic is based on the logic found in Gentoo Linux's 2023-09-28T23:49:51,838 genkernel tool, but has been rewritten to be simpler and more efficient. 2023-09-28T23:49:51,839 You can use this tool to create an initramfs to boot to a Funtoo Linux root 2023-09-28T23:49:51,839 ext4 or XFS filesystem, which is what we support in our official installation 2023-09-28T23:49:51,840 documentation at https://www.funtoo.org/Install -- but that's about it. 2023-09-28T23:49:51,841 What's Not Included 2023-09-28T23:49:51,841 =================== 2023-09-28T23:49:51,842 Nearly all "extra" genkernel features are intentionally not yet implemented. 2023-09-28T23:49:51,843 This tool doesn't build your kernel or modules. 2023-09-28T23:49:51,844 It also currently doesn't support dmraid, zfs, btrfs, encrypted root, or LiveCD 2023-09-28T23:49:51,845 or LiveUSB booting. 2023-09-28T23:49:51,845 Why not? Because one of the main design goals of this project is to create a 2023-09-28T23:49:51,846 very elegant and easy-to-understand initramfs whose core logic is not cluttered 2023-09-28T23:49:51,846 with tons of complicated features. To start from a clean slate, we are starting 2023-09-28T23:49:51,847 from very minimal functionality and then will very carefully add back various 2023-09-28T23:49:51,847 features while keeping the code clean, simple, elegant and effective. 2023-09-28T23:49:51,849 What's Included 2023-09-28T23:49:51,849 =============== 2023-09-28T23:49:51,850 So, what *does* Funtoo's ramdisk tool actually offer? Here's a list: 2023-09-28T23:49:51,851 * genkernel-style initramfs without the cruft. In comparison to genkernel's 2023-09-28T23:49:51,851 initramfs, the shell code is about 10x simpler and a lot cleaner and has 2023-09-28T23:49:51,851 been modernized. About 100 lines of shell script, with another 215 lines 2023-09-28T23:49:51,852 of functions in a support file. 2023-09-28T23:49:51,853 * Copies over the modules you specify -- and automatically figures out any 2023-09-28T23:49:51,853 kernel module dependencies, so any depended-upon modules are also copied. 2023-09-28T23:49:51,854 This eliminates the need to track these dependencies manually. 2023-09-28T23:49:51,854 * Rootless operation. You do not need enhanced privileges to create the 2023-09-28T23:49:51,855 initramfs. 2023-09-28T23:49:51,856 * You can read the ``linuxrc`` script and actually understand what it does. 2023-09-28T23:49:51,856 It is written to be easy to understand and adapt. So it's not just short, 2023-09-28T23:49:51,857 but easy to grasp. 2023-09-28T23:49:51,858 * Enhanced module loading engine on the initramfs which is significantly 2023-09-28T23:49:51,858 faster than genkernel. This effectively eliminates the "watching the 2023-09-28T23:49:51,859 stream of useless modules being loaded" issue with genkernel. Modern 2023-09-28T23:49:51,859 systems with NVMe drives will load just a handful of modules to boot 2023-09-28T23:49:51,860 -- all without requiring any special action from the user. 2023-09-28T23:49:51,861 * "kpop" functionality allows for building ramdisks with just the modules 2023-09-28T23:49:51,861 you need. For example, ``ramdisk --kpop=nvme,ext4`` will create a 2023-09-28T23:49:51,862 ramdisk that can boot on NVMe ext4 root filesystems, and only include 2023-09-28T23:49:51,863 these necessary modules, leaving all other modules to be loaded by 2023-09-28T23:49:51,863 your Funtoo Linux system. 2023-09-28T23:49:51,864 * Effective Python-based command to actually build the ramdisk, which is 2023-09-28T23:49:51,865 called: ``ramdisk``. This gives us an extensible platform for the future. 2023-09-28T23:49:51,866 * Enhanced ini-style system for selecting modules to include on your initramfs. 2023-09-28T23:49:51,866 * Enhanced ini-style system for selecting module groups to autoload on the initramfs. 2023-09-28T23:49:51,867 * Support for xz and zstd compression. 2023-09-28T23:49:51,868 How To Use It 2023-09-28T23:49:51,869 ============= 2023-09-28T23:49:51,870 First, install the package, via ``emerge ramdisk`` on Funtoo Linux, or alternatively 2023-09-28T23:49:51,870 ``pip3 install --user funtoo-ramdisk``. You will then have a ``ramdisk`` command 2023-09-28T23:49:51,871 in your path, which can be used to build a ramdisk. 2023-09-28T23:49:51,872 Then, as a regular user, you can run:: 2023-09-28T23:49:51,873 ramdisk /var/tmp/my-new-initramfs 2023-09-28T23:49:51,874 sudo cp /var/tmp/my-new-initramfs /boot 2023-09-28T23:49:51,875 By default, ``ramdisk`` will use your ``/usr/src/linux`` symlink to determine which 2023-09-28T23:49:51,876 kernel to use to build a ramdisk for. It will parse ``/usr/src/linux/Makefile``, 2023-09-28T23:49:51,876 extract kernel version information, and then find the appropriate directory in 2023-09-28T23:49:51,877 ``/lib/modules/`` for copying modules. You can type: 2023-09-28T23:49:51,877 ``ramdisk list kernels`` and ``ramdisk --kernel `` to build a ramdisk 2023-09-28T23:49:51,878 for a non-default kernel. 2023-09-28T23:49:51,879 Since this is brand-new software, it is highly recommended that you DO NOT OVERWRITE 2023-09-28T23:49:51,879 YOUR EXISTING, WORKING INITRAMFS THAT YOU CURRENTLY USE TO BOOT YOUR SYSTEM. 2023-09-28T23:49:51,881 Instead -- create a NEW BOOT ENTRY to test your initramfs. In GRUB, you can also 2023-09-28T23:49:51,881 press 'e' to edit an entry and type in the name of the new initramfs to give it a try. 2023-09-28T23:49:51,882 Enjoy -- and let me know how it works for you! Please report issues and feature 2023-09-28T23:49:51,882 requests to https://bugs.funtoo.org. 2023-09-28T23:49:51,884 ChangeLog 2023-09-28T23:49:51,884 ========= 2023-09-28T23:49:51,885 funtoo-ramdisk 1.1.3 2023-09-28T23:49:51,885 -------------------- 2023-09-28T23:49:51,886 Released on September 14, 2023. 2023-09-28T23:49:51,887 * FL-11606: ``/sbin/blkid`` can't be run as non-root, and will 2023-09-28T23:49:51,887 trigger a sandbox violation inside an ebuild. So don't do it -- 2023-09-28T23:49:51,888 we were just running it to convieniently spit out the UUID for 2023-09-28T23:49:51,888 the user to put in their ``/etc/fstab``. Now we instruct the 2023-09-28T23:49:51,889 user to run ``blkid`` as root and avoid the sandbox violation. 2023-09-28T23:49:51,890 funtoo-ramdisk 1.1.2 2023-09-28T23:49:51,890 -------------------- 2023-09-28T23:49:51,891 Released on September 4, 2023. 2023-09-28T23:49:51,892 * Fix exit code (zero on success.) 2023-09-28T23:49:51,894 funtoo-ramdisk 1.1.1 2023-09-28T23:49:51,894 -------------------- 2023-09-28T23:49:51,895 Released on September 4, 2023. 2023-09-28T23:49:51,896 Fix three bugs: 2023-09-28T23:49:51,897 * Allow plugins to be loaded when installed in ``site-packages``. 2023-09-28T23:49:51,897 * Don't assume ``/usr/src/linux`` symlink exists in two places and 2023-09-28T23:49:51,898 handle this situation gracefully. This situation may exist during 2023-09-28T23:49:51,898 metro builds on incomplete systems. (2 bugs fixed). 2023-09-28T23:49:51,900 funtoo-ramdisk 1.1.0 2023-09-28T23:49:51,901 -------------------- 2023-09-28T23:49:51,902 Released on September 3, 2023. 2023-09-28T23:49:51,903 * Add plugin system for ramdisk: 2023-09-28T23:49:51,904 To use, pass ``--enable=,``. The ``core`` plugin is 2023-09-28T23:49:51,905 always enabled and copies ``/sbin/blkid``. There are currently ``btrfs`` 2023-09-28T23:49:51,905 and ``lvm`` plugins as well -- these are not yet fully-implemented and 2023-09-28T23:49:51,906 just ensure necessary binaries are copied over (no extra setup commands 2023-09-28T23:49:51,906 are run by the initramfs.) 2023-09-28T23:49:51,907 This is a starting point for enabling support for advanced 2023-09-28T23:49:51,908 features on the initramfs. 2023-09-28T23:49:51,909 * New "module configurations". The default module configuration is "full", 2023-09-28T23:49:51,909 which means "make a ramdisk with lots of modules to support a lot of 2023-09-28T23:49:51,910 hardware." Different module configurations can be added in the future. 2023-09-28T23:49:51,911 Module configurations can be specified via ``--kmod_config=``. 2023-09-28T23:49:51,911 * ``--kpop=`` feature to make minimal module ramdisks by specifying a 2023-09-28T23:49:51,912 dynamic module configuration via the command-line, rather than via 2023-09-28T23:49:51,913 static config files. 2023-09-28T23:49:51,914 If you specify ``--kpop=nvme,ext4`` then a ramdisk with just those 2023-09-28T23:49:51,914 modules (and their dependencies) will be included. This can dramatically 2023-09-28T23:49:51,915 reduce the size of your ramdisk. Note that this doesn't include the 2023-09-28T23:49:51,915 necessary modules to allow USB keyboards to work in the rescue shell, 2023-09-28T23:49:51,916 so it's only for known-good configurations. Enabling this feature also 2023-09-28T23:49:51,916 disables any static module configuration (see above.) 2023-09-28T23:49:51,918 * Change the binary plugin API so lists of binaries can be dynamically 2023-09-28T23:49:51,918 created and programmatic decisions can be made. Previously, we used a 2023-09-28T23:49:51,919 static list. This allows us to use ``lvm.static`` if available, but 2023-09-28T23:49:51,920 fall back to dynamic ``lvm``, for example. 2023-09-28T23:49:51,921 * To support ``kpop`` functionality, the ability to add a module by its 2023-09-28T23:49:51,921 basic name, not just via its full path or glob, was added to 2023-09-28T23:49:51,922 ``modules.copy``. 2023-09-28T23:49:51,923 * Modules code can now accept ``modules.copy`` and ``modules.autoload`` 2023-09-28T23:49:51,923 as dynamically-generated line data rather than just as static files 2023-09-28T23:49:51,923 that must exist on the filesystem. (Again, used by ``kpop``). 2023-09-28T23:49:51,924 * ``linuxrc`` has been improved/fixed to not have a hard-coded list of 2023-09-28T23:49:51,925 module groups to try to load, and instead use the ``modules.autoload`` 2023-09-28T23:49:51,925 groups to determine these. 2023-09-28T23:49:51,926 * ``ramdisk list kernels`` and ``ramdisk list plugins`` actions added. 2023-09-28T23:49:51,927 The former makes use of ``ramdisk --kernel `` easier because it 2023-09-28T23:49:51,927 prints the available kernel names which can be copy/pasted for the 2023-09-28T23:49:51,928 ``--kernel`` option. 2023-09-28T23:49:51,929 * Implemented our own argument parsing as ``argparse`` was not worth 2023-09-28T23:49:51,929 using. 2023-09-28T23:49:51,930 * Lots of code organized into their own ``.py`` files. 2023-09-28T23:49:51,931 * Make ``/etc/fstab`` sanity check a warning as this file may not be 2023-09-28T23:49:51,931 set up at all if doing a metro build. 2023-09-28T23:49:51,932 * Disable colors if we don't have an interactive shell. 2023-09-28T23:49:51,934 funtoo-ramdisk 1.0.7 2023-09-28T23:49:51,934 -------------------- 2023-09-28T23:49:51,935 Released on August 22, 2023. 2023-09-28T23:49:51,936 Changes: 2023-09-28T23:49:51,937 * Get rid of ``--modules_root``. Instead, added ``--fs_root`` which 2023-09-28T23:49:51,938 specifies where modules *and* the kernel sources will be. This 2023-09-28T23:49:51,938 allows the tool to work from an ebuild. 2023-09-28T23:49:51,939 * Improve output and add nice colors. Optimize information to be 2023-09-28T23:49:51,940 more useful to users. 2023-09-28T23:49:51,942 funtoo-ramdisk 1.0.6 2023-09-28T23:49:51,942 -------------------- 2023-09-28T23:49:51,943 Released on August 21, 2023. 2023-09-28T23:49:51,944 Two new options: 2023-09-28T23:49:51,946 * ``--modules_root`` to set the root filesystem to scan for modules. 2023-09-28T23:49:51,946 It defaults to ``/``. 2023-09-28T23:49:51,947 * ``--temp_root`` to set the default path to use for creating a 2023-09-28T23:49:51,948 temporary directory. It defaults to ``/var/tmp``. 2023-09-28T23:49:51,949 funtoo-ramdisk 1.0.5 2023-09-28T23:49:51,949 -------------------- 2023-09-28T23:49:51,950 Released on August 21, 2023. 2023-09-28T23:49:51,951 This is a features/maintenance/bug fix release. 2023-09-28T23:49:51,952 In addition to a bunch of minor fixes and clean-ups, which you can 2023-09-28T23:49:51,953 view in the git history, the following significant changes were 2023-09-28T23:49:51,953 made: 2023-09-28T23:49:51,954 * Use kmod ``/sbin/modprobe`` instead of busybox's modprobe. Busybox's modprobe 2023-09-28T23:49:51,955 may be fine, but for it to work, we must use busybox's ``depmod`` -- and we're 2023-09-28T23:49:51,956 not. We're using ``kmod``'s. So for now, let's just copy the right modprobe 2023-09-28T23:49:51,956 over. This fixes an issue where we get invalid symbols when loading modules 2023-09-28T23:49:51,957 using busybox ``modprobe``. ``modprobe`` is now resolving deps properly! :) 2023-09-28T23:49:51,958 At some point, we could make a "toggle" to select kmod/busybox mode. The 2023-09-28T23:49:51,959 best time to run ``depmod`` for busybox is probably once the ramdisk first 2023-09-28T23:49:51,959 boots, since it doesn't have a "root" option, making it hard to call from our 2023-09-28T23:49:51,960 ramdisk script. 2023-09-28T23:49:51,961 * Remove unused control character definitions in ``initrd.defaults``. 2023-09-28T23:49:51,962 * Mitigate an issue where ``ash`` shell could start before all USB keyboards 2023-09-28T23:49:51,963 have been detected, resulting in lack of input. We now wait 5 seconds 2023-09-28T23:49:51,963 before starting a rescue shell, to give the kernel time to enumerate 2023-09-28T23:49:51,964 devices on the USB2/3 bus. This isn't a full fix, but should resolve 2023-09-28T23:49:51,964 the problem of ``ash`` starting and not having any way to type, because 2023-09-28T23:49:51,965 it didn't connect to your main keyboard. 2023-09-28T23:49:51,966 Try to work around issues related to ATA/SCSI disk enumeration which could 2023-09-28T23:49:51,966 prevent the root filesystem from being mounted (see FL-11532). 2023-09-28T23:49:51,967 * Detect when a user has a ``/dev/sd*`` root block device and warn them that 2023-09-28T23:49:51,968 this is not a good idea, and can cause problems if you have multiple 2023-09-28T23:49:51,968 disks. Show them how to fix the problem by switching to UUID. 2023-09-28T23:49:51,969 * Remove scsi_debug module which is evil and if we force-load it, will create 2023-09-28T23:49:51,970 a new SCSI device 8MB in size and trigger the problem above for anyone 2023-09-28T23:49:51,970 with a SATA disk. 2023-09-28T23:49:51,971 * To implement above feature, added a feature to allow masking of modules in 2023-09-28T23:49:51,971 ``modules.copy`` via "-mod_shortname" in a specific section. Also added a 2023-09-28T23:49:51,972 lot of sanity checking and warnings. If you happen to mask a module in the 2023-09-28T23:49:51,972 wrong section, so it still gets included on the initramfs due to other 2023-09-28T23:49:51,973 section(s), we will warn you. 2023-09-28T23:49:51,975 funtoo-ramdisk 1.0.4 2023-09-28T23:49:51,975 -------------------- 2023-09-28T23:49:51,976 Released on August 18, 2023. 2023-09-28T23:49:51,977 This is a maintenance/bug fix release. 2023-09-28T23:49:51,978 * Fix ability to run from the git repo. This wasn't working. 2023-09-28T23:49:51,980 * Fix issue found by grouche, where if a module is built-in to the 2023-09-28T23:49:51,980 kernel but listed in ``modules.autoload``, ``ramdisk`` would throw 2023-09-28T23:49:51,981 an error because it would think it's not copied to the initramfs. 2023-09-28T23:49:51,981 We now read in the ``modules.builtin`` file and use this in the 2023-09-28T23:49:51,982 internal logic -- if a module is built-in to the kernel, we can 2023-09-28T23:49:51,983 not worry if it is our ``modules.autoload`` list. We still have it. 2023-09-28T23:49:51,983 We will also not worry about trying to load it at boot. 2023-09-28T23:49:51,984 * Add a debug output whenever a module is referenced that is actually 2023-09-28T23:49:51,985 a built-in. This helps to audit the behavior of the above 2023-09-28T23:49:51,986 functionality and could be useful to users of the tool as well. 2023-09-28T23:49:51,987 * Announce we are in debug mode with ``log.info()`` instead of a 2023-09-28T23:49:51,988 warning. Looks a bit nicer. 2023-09-28T23:49:52,434 running bdist_wheel 2023-09-28T23:49:52,527 running build 2023-09-28T23:49:52,528 running build_py 2023-09-28T23:49:52,555 creating build 2023-09-28T23:49:52,555 creating build/lib 2023-09-28T23:49:52,556 creating build/lib/funtoo_ramdisk 2023-09-28T23:49:52,558 copying funtoo_ramdisk/kernel.py -> build/lib/funtoo_ramdisk 2023-09-28T23:49:52,560 copying funtoo_ramdisk/args.py -> build/lib/funtoo_ramdisk 2023-09-28T23:49:52,562 copying funtoo_ramdisk/__init__.py -> build/lib/funtoo_ramdisk 2023-09-28T23:49:52,564 copying funtoo_ramdisk/log.py -> build/lib/funtoo_ramdisk 2023-09-28T23:49:52,566 copying funtoo_ramdisk/utilities.py -> build/lib/funtoo_ramdisk 2023-09-28T23:49:52,567 copying funtoo_ramdisk/version.py -> build/lib/funtoo_ramdisk 2023-09-28T23:49:52,569 copying funtoo_ramdisk/modules.py -> build/lib/funtoo_ramdisk 2023-09-28T23:49:52,571 copying funtoo_ramdisk/plugin_base.py -> build/lib/funtoo_ramdisk 2023-09-28T23:49:52,573 copying funtoo_ramdisk/initramfs.py -> build/lib/funtoo_ramdisk 2023-09-28T23:49:52,575 copying funtoo_ramdisk/config_files.py -> build/lib/funtoo_ramdisk 2023-09-28T23:49:52,577 copying funtoo_ramdisk/const.py -> build/lib/funtoo_ramdisk 2023-09-28T23:49:52,579 creating build/lib/funtoo_ramdisk/plugins 2023-09-28T23:49:52,580 copying funtoo_ramdisk/plugins/__init__.py -> build/lib/funtoo_ramdisk/plugins 2023-09-28T23:49:52,581 copying funtoo_ramdisk/plugins/core.py -> build/lib/funtoo_ramdisk/plugins 2023-09-28T23:49:52,583 copying funtoo_ramdisk/plugins/lvm.py -> build/lib/funtoo_ramdisk/plugins 2023-09-28T23:49:52,584 copying funtoo_ramdisk/plugins/btrfs.py -> build/lib/funtoo_ramdisk/plugins 2023-09-28T23:49:52,586 creating build/lib/funtoo_ramdisk/support 2023-09-28T23:49:52,587 copying funtoo_ramdisk/support/__init__.py -> build/lib/funtoo_ramdisk/support 2023-09-28T23:49:52,589 creating build/lib/funtoo_ramdisk/support/module_configs 2023-09-28T23:49:52,590 copying funtoo_ramdisk/support/module_configs/__init__.py -> build/lib/funtoo_ramdisk/support/module_configs 2023-09-28T23:49:52,592 creating build/lib/funtoo_ramdisk/support/module_configs/full 2023-09-28T23:49:52,593 copying funtoo_ramdisk/support/module_configs/full/__init__.py -> build/lib/funtoo_ramdisk/support/module_configs/full 2023-09-28T23:49:52,594 running egg_info 2023-09-28T23:49:52,650 writing funtoo_ramdisk.egg-info/PKG-INFO 2023-09-28T23:49:52,654 writing dependency_links to funtoo_ramdisk.egg-info/dependency_links.txt 2023-09-28T23:49:52,655 writing requirements to funtoo_ramdisk.egg-info/requires.txt 2023-09-28T23:49:52,656 writing top-level names to funtoo_ramdisk.egg-info/top_level.txt 2023-09-28T23:49:52,684 reading manifest file 'funtoo_ramdisk.egg-info/SOURCES.txt' 2023-09-28T23:49:52,687 reading manifest template 'MANIFEST.in' 2023-09-28T23:49:52,695 writing manifest file 'funtoo_ramdisk.egg-info/SOURCES.txt' 2023-09-28T23:49:52,697 /usr/local/lib/python3.11/dist-packages/setuptools/command/build_py.py:204: _Warning: Package 'funtoo_ramdisk.support.etc' is absent from the `packages` configuration. 2023-09-28T23:49:52,698 !! 2023-09-28T23:49:52,698 ******************************************************************************** 2023-09-28T23:49:52,699 ############################ 2023-09-28T23:49:52,699 # Package would be ignored # 2023-09-28T23:49:52,700 ############################ 2023-09-28T23:49:52,700 Python recognizes 'funtoo_ramdisk.support.etc' as an importable package[^1], 2023-09-28T23:49:52,701 but it is absent from setuptools' `packages` configuration. 2023-09-28T23:49:52,702 This leads to an ambiguous overall configuration. If you want to distribute this 2023-09-28T23:49:52,702 package, please make sure that 'funtoo_ramdisk.support.etc' is explicitly added 2023-09-28T23:49:52,703 to the `packages` configuration field. 2023-09-28T23:49:52,704 Alternatively, you can also rely on setuptools' discovery methods 2023-09-28T23:49:52,704 (for example by using `find_namespace_packages(...)`/`find_namespace:` 2023-09-28T23:49:52,705 instead of `find_packages(...)`/`find:`). 2023-09-28T23:49:52,706 You can read more about "package discovery" on setuptools documentation page: 2023-09-28T23:49:52,707 - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 2023-09-28T23:49:52,708 If you don't want 'funtoo_ramdisk.support.etc' to be distributed and are 2023-09-28T23:49:52,709 already explicitly excluding 'funtoo_ramdisk.support.etc' via 2023-09-28T23:49:52,709 `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 2023-09-28T23:49:52,710 you can try to use `exclude_package_data`, or `include-package-data=False` in 2023-09-28T23:49:52,710 combination with a more fine grained `package-data` configuration. 2023-09-28T23:49:52,711 You can read more about "package data files" on setuptools documentation page: 2023-09-28T23:49:52,712 - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 2023-09-28T23:49:52,713 [^1]: For Python, any directory (with suitable naming) can be imported, 2023-09-28T23:49:52,714 even if it does not contain any `.py` files. 2023-09-28T23:49:52,714 On the other hand, currently there is no concept of package data 2023-09-28T23:49:52,714 directory, all directories are treated like packages. 2023-09-28T23:49:52,715 ******************************************************************************** 2023-09-28T23:49:52,716 !! 2023-09-28T23:49:52,716 check.warn(importable) 2023-09-28T23:49:52,717 copying funtoo_ramdisk/support/initramfs.cpio -> build/lib/funtoo_ramdisk/support 2023-09-28T23:49:52,717 copying funtoo_ramdisk/support/linuxrc -> build/lib/funtoo_ramdisk/support 2023-09-28T23:49:52,717 creating build/lib/funtoo_ramdisk/support/etc 2023-09-28T23:49:52,718 copying funtoo_ramdisk/support/etc/initrd.defaults -> build/lib/funtoo_ramdisk/support/etc 2023-09-28T23:49:52,718 copying funtoo_ramdisk/support/etc/initrd.scripts -> build/lib/funtoo_ramdisk/support/etc 2023-09-28T23:49:52,719 copying funtoo_ramdisk/support/module_configs/full/modules.autoload -> build/lib/funtoo_ramdisk/support/module_configs/full 2023-09-28T23:49:52,719 copying funtoo_ramdisk/support/module_configs/full/modules.copy -> build/lib/funtoo_ramdisk/support/module_configs/full 2023-09-28T23:49:52,720 running build_scripts 2023-09-28T23:49:52,720 creating build/scripts-3.11 2023-09-28T23:49:52,721 copying and adjusting bin/ramdisk -> build/scripts-3.11 2023-09-28T23:49:52,721 changing mode of build/scripts-3.11/ramdisk from 644 to 755 2023-09-28T23:49:52,744 /usr/local/lib/python3.11/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. 2023-09-28T23:49:52,745 !! 2023-09-28T23:49:52,746 ******************************************************************************** 2023-09-28T23:49:52,746 Please avoid running ``setup.py`` directly. 2023-09-28T23:49:52,747 Instead, use pypa/build, pypa/installer or other 2023-09-28T23:49:52,748 standards-based tools. 2023-09-28T23:49:52,749 See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. 2023-09-28T23:49:52,749 ******************************************************************************** 2023-09-28T23:49:52,750 !! 2023-09-28T23:49:52,751 self.initialize_options() 2023-09-28T23:49:52,769 installing to build/bdist.linux-armv7l/wheel 2023-09-28T23:49:52,769 running install 2023-09-28T23:49:52,793 running install_lib 2023-09-28T23:49:52,818 creating build/bdist.linux-armv7l 2023-09-28T23:49:52,818 creating build/bdist.linux-armv7l/wheel 2023-09-28T23:49:52,820 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-28T23:49:52,821 copying build/lib/funtoo_ramdisk/kernel.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-28T23:49:52,823 copying build/lib/funtoo_ramdisk/args.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-28T23:49:52,825 copying build/lib/funtoo_ramdisk/__init__.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-28T23:49:52,826 copying build/lib/funtoo_ramdisk/log.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-28T23:49:52,829 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk/plugins 2023-09-28T23:49:52,829 copying build/lib/funtoo_ramdisk/plugins/__init__.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/plugins 2023-09-28T23:49:52,831 copying build/lib/funtoo_ramdisk/plugins/core.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/plugins 2023-09-28T23:49:52,833 copying build/lib/funtoo_ramdisk/plugins/lvm.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/plugins 2023-09-28T23:49:52,835 copying build/lib/funtoo_ramdisk/plugins/btrfs.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/plugins 2023-09-28T23:49:52,837 copying build/lib/funtoo_ramdisk/utilities.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-28T23:49:52,838 copying build/lib/funtoo_ramdisk/version.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-28T23:49:52,840 copying build/lib/funtoo_ramdisk/modules.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-28T23:49:52,842 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support 2023-09-28T23:49:52,843 copying build/lib/funtoo_ramdisk/support/__init__.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support 2023-09-28T23:49:52,845 copying build/lib/funtoo_ramdisk/support/linuxrc -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support 2023-09-28T23:49:52,847 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/etc 2023-09-28T23:49:52,847 copying build/lib/funtoo_ramdisk/support/etc/initrd.defaults -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/etc 2023-09-28T23:49:52,849 copying build/lib/funtoo_ramdisk/support/etc/initrd.scripts -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/etc 2023-09-28T23:49:52,851 copying build/lib/funtoo_ramdisk/support/initramfs.cpio -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support 2023-09-28T23:49:52,853 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/module_configs 2023-09-28T23:49:52,854 copying build/lib/funtoo_ramdisk/support/module_configs/__init__.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/module_configs 2023-09-28T23:49:52,856 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/module_configs/full 2023-09-28T23:49:52,857 copying build/lib/funtoo_ramdisk/support/module_configs/full/__init__.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/module_configs/full 2023-09-28T23:49:52,859 copying build/lib/funtoo_ramdisk/support/module_configs/full/modules.autoload -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/module_configs/full 2023-09-28T23:49:52,861 copying build/lib/funtoo_ramdisk/support/module_configs/full/modules.copy -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/module_configs/full 2023-09-28T23:49:52,863 copying build/lib/funtoo_ramdisk/plugin_base.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-28T23:49:52,864 copying build/lib/funtoo_ramdisk/initramfs.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-28T23:49:52,867 copying build/lib/funtoo_ramdisk/config_files.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-28T23:49:52,869 copying build/lib/funtoo_ramdisk/const.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-28T23:49:52,870 running install_egg_info 2023-09-28T23:49:52,900 Copying funtoo_ramdisk.egg-info to build/bdist.linux-armv7l/wheel/funtoo_ramdisk-1.1.3-py3.11.egg-info 2023-09-28T23:49:52,909 running install_scripts 2023-09-28T23:49:52,910 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk-1.1.3.data 2023-09-28T23:49:52,911 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk-1.1.3.data/scripts 2023-09-28T23:49:52,912 copying build/scripts-3.11/ramdisk -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk-1.1.3.data/scripts 2023-09-28T23:49:52,914 changing mode of build/bdist.linux-armv7l/wheel/funtoo_ramdisk-1.1.3.data/scripts/ramdisk to 755 2023-09-28T23:49:52,927 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk-1.1.3.dist-info/WHEEL 2023-09-28T23:49:52,929 creating '/tmp/pip-wheel-a_olylau/funtoo_ramdisk-1.1.3-py3-none-any.whl' and adding 'build/bdist.linux-armv7l/wheel' to it 2023-09-28T23:49:52,932 adding 'funtoo_ramdisk/__init__.py' 2023-09-28T23:49:52,933 adding 'funtoo_ramdisk/args.py' 2023-09-28T23:49:52,935 adding 'funtoo_ramdisk/config_files.py' 2023-09-28T23:49:52,936 adding 'funtoo_ramdisk/const.py' 2023-09-28T23:49:52,938 adding 'funtoo_ramdisk/initramfs.py' 2023-09-28T23:49:52,940 adding 'funtoo_ramdisk/kernel.py' 2023-09-28T23:49:52,941 adding 'funtoo_ramdisk/log.py' 2023-09-28T23:49:52,944 adding 'funtoo_ramdisk/modules.py' 2023-09-28T23:49:52,945 adding 'funtoo_ramdisk/plugin_base.py' 2023-09-28T23:49:52,946 adding 'funtoo_ramdisk/utilities.py' 2023-09-28T23:49:52,947 adding 'funtoo_ramdisk/version.py' 2023-09-28T23:49:52,949 adding 'funtoo_ramdisk/plugins/__init__.py' 2023-09-28T23:49:52,950 adding 'funtoo_ramdisk/plugins/btrfs.py' 2023-09-28T23:49:52,951 adding 'funtoo_ramdisk/plugins/core.py' 2023-09-28T23:49:52,952 adding 'funtoo_ramdisk/plugins/lvm.py' 2023-09-28T23:49:52,953 adding 'funtoo_ramdisk/support/__init__.py' 2023-09-28T23:49:52,955 adding 'funtoo_ramdisk/support/initramfs.cpio' 2023-09-28T23:49:52,956 adding 'funtoo_ramdisk/support/linuxrc' 2023-09-28T23:49:52,957 adding 'funtoo_ramdisk/support/etc/initrd.defaults' 2023-09-28T23:49:52,959 adding 'funtoo_ramdisk/support/etc/initrd.scripts' 2023-09-28T23:49:52,961 adding 'funtoo_ramdisk/support/module_configs/__init__.py' 2023-09-28T23:49:52,962 adding 'funtoo_ramdisk/support/module_configs/full/__init__.py' 2023-09-28T23:49:52,963 adding 'funtoo_ramdisk/support/module_configs/full/modules.autoload' 2023-09-28T23:49:52,965 adding 'funtoo_ramdisk/support/module_configs/full/modules.copy' 2023-09-28T23:49:52,967 adding 'funtoo_ramdisk-1.1.3.data/scripts/ramdisk' 2023-09-28T23:49:52,970 adding 'funtoo_ramdisk-1.1.3.dist-info/METADATA' 2023-09-28T23:49:52,971 adding 'funtoo_ramdisk-1.1.3.dist-info/WHEEL' 2023-09-28T23:49:52,972 adding 'funtoo_ramdisk-1.1.3.dist-info/top_level.txt' 2023-09-28T23:49:52,973 adding 'funtoo_ramdisk-1.1.3.dist-info/RECORD' 2023-09-28T23:49:52,975 removing build/bdist.linux-armv7l/wheel 2023-09-28T23:49:53,097 Building wheel for funtoo-ramdisk (setup.py): finished with status 'done' 2023-09-28T23:49:53,100 Created wheel for funtoo-ramdisk: filename=funtoo_ramdisk-1.1.3-py3-none-any.whl size=32632 sha256=0f98fea7a4892de73fc0dae0f4762ff9834011b43acd8b146ebd15a770df75e2 2023-09-28T23:49:53,101 Stored in directory: /tmp/pip-ephem-wheel-cache-wx0ol6ls/wheels/99/9d/48/d90fa6020757360d0bb0a8863b646845f66a89be5acb0349f6 2023-09-28T23:49:53,113 Successfully built funtoo-ramdisk 2023-09-28T23:49:53,117 Removed build tracker: '/tmp/pip-build-tracker-m6l5418f'