2023-09-04T19:55:23,329 Created temporary directory: /tmp/pip-build-tracker-s4vsvjxk 2023-09-04T19:55:23,332 Initialized build tracking at /tmp/pip-build-tracker-s4vsvjxk 2023-09-04T19:55:23,332 Created build tracker: /tmp/pip-build-tracker-s4vsvjxk 2023-09-04T19:55:23,333 Entered build tracker: /tmp/pip-build-tracker-s4vsvjxk 2023-09-04T19:55:23,334 Created temporary directory: /tmp/pip-wheel-p4l1fflj 2023-09-04T19:55:23,343 Created temporary directory: /tmp/pip-ephem-wheel-cache-0govi71t 2023-09-04T19:55:23,404 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-09-04T19:55:23,412 2 location(s) to search for versions of funtoo-ramdisk: 2023-09-04T19:55:23,412 * https://pypi.org/simple/funtoo-ramdisk/ 2023-09-04T19:55:23,412 * https://www.piwheels.org/simple/funtoo-ramdisk/ 2023-09-04T19:55:23,413 Fetching project page and analyzing links: https://pypi.org/simple/funtoo-ramdisk/ 2023-09-04T19:55:23,414 Getting page https://pypi.org/simple/funtoo-ramdisk/ 2023-09-04T19:55:23,419 Found index url https://pypi.org/simple/ 2023-09-04T19:55:23,606 Fetched page https://pypi.org/simple/funtoo-ramdisk/ as application/vnd.pypi.simple.v1+json 2023-09-04T19:55:23,613 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-04T19:55:23,615 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-04T19:55:23,616 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-04T19:55:23,618 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-04T19:55:23,619 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-04T19:55:23,621 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-04T19:55:23,622 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-04T19:55:23,623 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-04T19:55:23,625 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-04T19:55:23,626 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-04T19:55:23,627 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-04T19:55:23,628 Fetching project page and analyzing links: https://www.piwheels.org/simple/funtoo-ramdisk/ 2023-09-04T19:55:23,629 Getting page https://www.piwheels.org/simple/funtoo-ramdisk/ 2023-09-04T19:55:23,631 Found index url https://www.piwheels.org/simple/ 2023-09-04T19:55:24,783 Fetched page https://www.piwheels.org/simple/funtoo-ramdisk/ as text/html 2023-09-04T19:55:24,793 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-04T19:55:24,794 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-04T19:55:24,794 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-04T19:55:24,795 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-04T19:55:24,795 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-04T19:55:24,796 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-04T19:55:24,796 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-04T19:55:24,797 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-04T19:55:24,797 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-04T19:55:24,798 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-04T19:55:24,799 Skipping link: not a file: https://www.piwheels.org/simple/funtoo-ramdisk/ 2023-09-04T19:55:24,799 Skipping link: not a file: https://pypi.org/simple/funtoo-ramdisk/ 2023-09-04T19:55:24,835 Given no hashes to check 1 links for project 'funtoo-ramdisk': discarding no candidates 2023-09-04T19:55:24,866 Collecting funtoo-ramdisk==1.1.2 2023-09-04T19:55:24,871 Created temporary directory: /tmp/pip-unpack-ks4sja6z 2023-09-04T19:55:25,041 Downloading funtoo-ramdisk-1.1.2.tar.gz (32 kB) 2023-09-04T19:55:25,231 Added funtoo-ramdisk==1.1.2 from https://files.pythonhosted.org/packages/5c/80/ca623eaa36c300bb5ae15cafcc2e31d47cd6c3b8e6fda88377ba1dce4daa/funtoo-ramdisk-1.1.2.tar.gz to build tracker '/tmp/pip-build-tracker-s4vsvjxk' 2023-09-04T19:55:25,236 Running setup.py (path:/tmp/pip-wheel-p4l1fflj/funtoo-ramdisk_514e4a32ba9e4e80ba8809d42d390010/setup.py) egg_info for package funtoo-ramdisk 2023-09-04T19:55:25,237 Created temporary directory: /tmp/pip-pip-egg-info-i4w726ia 2023-09-04T19:55:25,238 Preparing metadata (setup.py): started 2023-09-04T19:55:25,240 Running command python setup.py egg_info 2023-09-04T19:55:26,349 ************** 2023-09-04T19:55:26,350 Funtoo Ramdisk 2023-09-04T19:55:26,350 ************** 2023-09-04T19:55:26,351 Copyright 2023 Daniel Robbins, Funtoo Solutions, Inc. 2023-09-04T19:55:26,352 Licensed under the Apache License, Version 2.0 (the "License"); 2023-09-04T19:55:26,352 you may not use this file except in compliance with the License. 2023-09-04T19:55:26,352 You may obtain a copy of the License at 2023-09-04T19:55:26,353 http://www.apache.org/licenses/LICENSE-2.0 2023-09-04T19:55:26,354 Unless required by applicable law or agreed to in writing, software 2023-09-04T19:55:26,354 distributed under the License is distributed on an "AS IS" BASIS, 2023-09-04T19:55:26,354 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 2023-09-04T19:55:26,354 See the License for the specific language governing permissions and 2023-09-04T19:55:26,355 limitations under the License. 2023-09-04T19:55:26,355 Introduction 2023-09-04T19:55:26,356 ============ 2023-09-04T19:55:26,356 The Funtoo ramdisk tool, called ``ramdisk`` is a stand-alone tool to create an 2023-09-04T19:55:26,357 initial RAM disk filesystem (initramfs) for booting your Linux system. 2023-09-04T19:55:26,357 The internal initramfs logic is based on the logic found in Gentoo Linux's 2023-09-04T19:55:26,358 genkernel tool, but has been rewritten to be simpler and more efficient. 2023-09-04T19:55:26,358 You can use this tool to create an initramfs to boot to a Funtoo Linux root 2023-09-04T19:55:26,359 ext4 or XFS filesystem, which is what we support in our official installation 2023-09-04T19:55:26,359 documentation at https://www.funtoo.org/Install -- but that's about it. 2023-09-04T19:55:26,360 What's Not Included 2023-09-04T19:55:26,360 =================== 2023-09-04T19:55:26,361 Nearly all "extra" genkernel features are intentionally not yet implemented. 2023-09-04T19:55:26,361 This tool doesn't build your kernel or modules. 2023-09-04T19:55:26,361 It also currently doesn't support dmraid, zfs, btrfs, encrypted root, or LiveCD 2023-09-04T19:55:26,362 or LiveUSB booting. 2023-09-04T19:55:26,362 Why not? Because one of the main design goals of this project is to create a 2023-09-04T19:55:26,363 very elegant and easy-to-understand initramfs whose core logic is not cluttered 2023-09-04T19:55:26,363 with tons of complicated features. To start from a clean slate, we are starting 2023-09-04T19:55:26,363 from very minimal functionality and then will very carefully add back various 2023-09-04T19:55:26,364 features while keeping the code clean, simple, elegant and effective. 2023-09-04T19:55:26,364 What's Included 2023-09-04T19:55:26,365 =============== 2023-09-04T19:55:26,365 So, what *does* Funtoo's ramdisk tool actually offer? Here's a list: 2023-09-04T19:55:26,366 * genkernel-style initramfs without the cruft. In comparison to genkernel's 2023-09-04T19:55:26,366 initramfs, the shell code is about 10x simpler and a lot cleaner and has 2023-09-04T19:55:26,367 been modernized. About 100 lines of shell script, with another 215 lines 2023-09-04T19:55:26,367 of functions in a support file. 2023-09-04T19:55:26,367 * Copies over the modules you specify -- and automatically figures out any 2023-09-04T19:55:26,368 kernel module dependencies, so any depended-upon modules are also copied. 2023-09-04T19:55:26,368 This eliminates the need to track these dependencies manually. 2023-09-04T19:55:26,369 * Rootless operation. You do not need enhanced privileges to create the 2023-09-04T19:55:26,369 initramfs. 2023-09-04T19:55:26,370 * You can read the ``linuxrc`` script and actually understand what it does. 2023-09-04T19:55:26,370 It is written to be easy to understand and adapt. So it's not just short, 2023-09-04T19:55:26,370 but easy to grasp. 2023-09-04T19:55:26,371 * Enhanced module loading engine on the initramfs which is significantly 2023-09-04T19:55:26,371 faster than genkernel. This effectively eliminates the "watching the 2023-09-04T19:55:26,371 stream of useless modules being loaded" issue with genkernel. Modern 2023-09-04T19:55:26,372 systems with NVMe drives will load just a handful of modules to boot 2023-09-04T19:55:26,372 -- all without requiring any special action from the user. 2023-09-04T19:55:26,373 * "kpop" functionality allows for building ramdisks with just the modules 2023-09-04T19:55:26,373 you need. For example, ``ramdisk --kpop=nvme,ext4`` will create a 2023-09-04T19:55:26,373 ramdisk that can boot on NVMe ext4 root filesystems, and only include 2023-09-04T19:55:26,374 these necessary modules, leaving all other modules to be loaded by 2023-09-04T19:55:26,374 your Funtoo Linux system. 2023-09-04T19:55:26,375 * Effective Python-based command to actually build the ramdisk, which is 2023-09-04T19:55:26,375 called: ``ramdisk``. This gives us an extensible platform for the future. 2023-09-04T19:55:26,376 * Enhanced ini-style system for selecting modules to include on your initramfs. 2023-09-04T19:55:26,376 * Enhanced ini-style system for selecting module groups to autoload on the initramfs. 2023-09-04T19:55:26,376 * Support for xz and zstd compression. 2023-09-04T19:55:26,377 How To Use It 2023-09-04T19:55:26,377 ============= 2023-09-04T19:55:26,378 First, install the package, via ``emerge ramdisk`` on Funtoo Linux, or alternatively 2023-09-04T19:55:26,378 ``pip3 install --user funtoo-ramdisk``. You will then have a ``ramdisk`` command 2023-09-04T19:55:26,378 in your path, which can be used to build a ramdisk. 2023-09-04T19:55:26,379 Then, as a regular user, you can run:: 2023-09-04T19:55:26,380 ramdisk /var/tmp/my-new-initramfs 2023-09-04T19:55:26,380 sudo cp /var/tmp/my-new-initramfs /boot 2023-09-04T19:55:26,380 By default, ``ramdisk`` will use your ``/usr/src/linux`` symlink to determine which 2023-09-04T19:55:26,381 kernel to use to build a ramdisk for. It will parse ``/usr/src/linux/Makefile``, 2023-09-04T19:55:26,381 extract kernel version information, and then find the appropriate directory in 2023-09-04T19:55:26,381 ``/lib/modules/`` for copying modules. You can type: 2023-09-04T19:55:26,382 ``ramdisk list kernels`` and ``ramdisk --kernel `` to build a ramdisk 2023-09-04T19:55:26,382 for a non-default kernel. 2023-09-04T19:55:26,383 Since this is brand-new software, it is highly recommended that you DO NOT OVERWRITE 2023-09-04T19:55:26,383 YOUR EXISTING, WORKING INITRAMFS THAT YOU CURRENTLY USE TO BOOT YOUR SYSTEM. 2023-09-04T19:55:26,383 Instead -- create a NEW BOOT ENTRY to test your initramfs. In GRUB, you can also 2023-09-04T19:55:26,384 press 'e' to edit an entry and type in the name of the new initramfs to give it a try. 2023-09-04T19:55:26,384 Enjoy -- and let me know how it works for you! Please report issues and feature 2023-09-04T19:55:26,385 requests to https://bugs.funtoo.org. 2023-09-04T19:55:26,386 ChangeLog 2023-09-04T19:55:26,386 ========= 2023-09-04T19:55:26,387 funtoo-ramdisk 1.1.2 2023-09-04T19:55:26,387 -------------------- 2023-09-04T19:55:26,388 Released on September 4, 2023. 2023-09-04T19:55:26,388 * Fix exit code (zero on success.) 2023-09-04T19:55:26,389 funtoo-ramdisk 1.1.1 2023-09-04T19:55:26,390 -------------------- 2023-09-04T19:55:26,390 Released on September 4, 2023. 2023-09-04T19:55:26,391 Fix three bugs: 2023-09-04T19:55:26,391 * Allow plugins to be loaded when installed in ``site-packages``. 2023-09-04T19:55:26,392 * Don't assume ``/usr/src/linux`` symlink exists in two places and 2023-09-04T19:55:26,392 handle this situation gracefully. This situation may exist during 2023-09-04T19:55:26,393 metro builds on incomplete systems. (2 bugs fixed). 2023-09-04T19:55:26,394 funtoo-ramdisk 1.1.0 2023-09-04T19:55:26,394 -------------------- 2023-09-04T19:55:26,395 Released on September 3, 2023. 2023-09-04T19:55:26,395 * Add plugin system for ramdisk: 2023-09-04T19:55:26,396 To use, pass ``--enable=,``. The ``core`` plugin is 2023-09-04T19:55:26,396 always enabled and copies ``/sbin/blkid``. There are currently ``btrfs`` 2023-09-04T19:55:26,397 and ``lvm`` plugins as well -- these are not yet fully-implemented and 2023-09-04T19:55:26,397 just ensure necessary binaries are copied over (no extra setup commands 2023-09-04T19:55:26,397 are run by the initramfs.) 2023-09-04T19:55:26,398 This is a starting point for enabling support for advanced 2023-09-04T19:55:26,398 features on the initramfs. 2023-09-04T19:55:26,399 * New "module configurations". The default module configuration is "full", 2023-09-04T19:55:26,399 which means "make a ramdisk with lots of modules to support a lot of 2023-09-04T19:55:26,399 hardware." Different module configurations can be added in the future. 2023-09-04T19:55:26,400 Module configurations can be specified via ``--kmod_config=``. 2023-09-04T19:55:26,400 * ``--kpop=`` feature to make minimal module ramdisks by specifying a 2023-09-04T19:55:26,401 dynamic module configuration via the command-line, rather than via 2023-09-04T19:55:26,401 static config files. 2023-09-04T19:55:26,401 If you specify ``--kpop=nvme,ext4`` then a ramdisk with just those 2023-09-04T19:55:26,402 modules (and their dependencies) will be included. This can dramatically 2023-09-04T19:55:26,402 reduce the size of your ramdisk. Note that this doesn't include the 2023-09-04T19:55:26,402 necessary modules to allow USB keyboards to work in the rescue shell, 2023-09-04T19:55:26,403 so it's only for known-good configurations. Enabling this feature also 2023-09-04T19:55:26,403 disables any static module configuration (see above.) 2023-09-04T19:55:26,404 * Change the binary plugin API so lists of binaries can be dynamically 2023-09-04T19:55:26,404 created and programmatic decisions can be made. Previously, we used a 2023-09-04T19:55:26,404 static list. This allows us to use ``lvm.static`` if available, but 2023-09-04T19:55:26,404 fall back to dynamic ``lvm``, for example. 2023-09-04T19:55:26,405 * To support ``kpop`` functionality, the ability to add a module by its 2023-09-04T19:55:26,405 basic name, not just via its full path or glob, was added to 2023-09-04T19:55:26,406 ``modules.copy``. 2023-09-04T19:55:26,406 * Modules code can now accept ``modules.copy`` and ``modules.autoload`` 2023-09-04T19:55:26,407 as dynamically-generated line data rather than just as static files 2023-09-04T19:55:26,407 that must exist on the filesystem. (Again, used by ``kpop``). 2023-09-04T19:55:26,408 * ``linuxrc`` has been improved/fixed to not have a hard-coded list of 2023-09-04T19:55:26,408 module groups to try to load, and instead use the ``modules.autoload`` 2023-09-04T19:55:26,408 groups to determine these. 2023-09-04T19:55:26,409 * ``ramdisk list kernels`` and ``ramdisk list plugins`` actions added. 2023-09-04T19:55:26,409 The former makes use of ``ramdisk --kernel `` easier because it 2023-09-04T19:55:26,410 prints the available kernel names which can be copy/pasted for the 2023-09-04T19:55:26,410 ``--kernel`` option. 2023-09-04T19:55:26,410 * Implemented our own argument parsing as ``argparse`` was not worth 2023-09-04T19:55:26,411 using. 2023-09-04T19:55:26,411 * Lots of code organized into their own ``.py`` files. 2023-09-04T19:55:26,412 * Make ``/etc/fstab`` sanity check a warning as this file may not be 2023-09-04T19:55:26,412 set up at all if doing a metro build. 2023-09-04T19:55:26,413 * Disable colors if we don't have an interactive shell. 2023-09-04T19:55:26,414 funtoo-ramdisk 1.0.7 2023-09-04T19:55:26,414 -------------------- 2023-09-04T19:55:26,415 Released on August 22, 2023. 2023-09-04T19:55:26,416 Changes: 2023-09-04T19:55:26,416 * Get rid of ``--modules_root``. Instead, added ``--fs_root`` which 2023-09-04T19:55:26,417 specifies where modules *and* the kernel sources will be. This 2023-09-04T19:55:26,417 allows the tool to work from an ebuild. 2023-09-04T19:55:26,418 * Improve output and add nice colors. Optimize information to be 2023-09-04T19:55:26,418 more useful to users. 2023-09-04T19:55:26,419 funtoo-ramdisk 1.0.6 2023-09-04T19:55:26,419 -------------------- 2023-09-04T19:55:26,420 Released on August 21, 2023. 2023-09-04T19:55:26,420 Two new options: 2023-09-04T19:55:26,421 * ``--modules_root`` to set the root filesystem to scan for modules. 2023-09-04T19:55:26,421 It defaults to ``/``. 2023-09-04T19:55:26,422 * ``--temp_root`` to set the default path to use for creating a 2023-09-04T19:55:26,422 temporary directory. It defaults to ``/var/tmp``. 2023-09-04T19:55:26,423 funtoo-ramdisk 1.0.5 2023-09-04T19:55:26,423 -------------------- 2023-09-04T19:55:26,424 Released on August 21, 2023. 2023-09-04T19:55:26,424 This is a features/maintenance/bug fix release. 2023-09-04T19:55:26,425 In addition to a bunch of minor fixes and clean-ups, which you can 2023-09-04T19:55:26,425 view in the git history, the following significant changes were 2023-09-04T19:55:26,426 made: 2023-09-04T19:55:26,426 * Use kmod ``/sbin/modprobe`` instead of busybox's modprobe. Busybox's modprobe 2023-09-04T19:55:26,427 may be fine, but for it to work, we must use busybox's ``depmod`` -- and we're 2023-09-04T19:55:26,427 not. We're using ``kmod``'s. So for now, let's just copy the right modprobe 2023-09-04T19:55:26,427 over. This fixes an issue where we get invalid symbols when loading modules 2023-09-04T19:55:26,428 using busybox ``modprobe``. ``modprobe`` is now resolving deps properly! :) 2023-09-04T19:55:26,428 At some point, we could make a "toggle" to select kmod/busybox mode. The 2023-09-04T19:55:26,429 best time to run ``depmod`` for busybox is probably once the ramdisk first 2023-09-04T19:55:26,429 boots, since it doesn't have a "root" option, making it hard to call from our 2023-09-04T19:55:26,429 ramdisk script. 2023-09-04T19:55:26,430 * Remove unused control character definitions in ``initrd.defaults``. 2023-09-04T19:55:26,431 * Mitigate an issue where ``ash`` shell could start before all USB keyboards 2023-09-04T19:55:26,431 have been detected, resulting in lack of input. We now wait 5 seconds 2023-09-04T19:55:26,431 before starting a rescue shell, to give the kernel time to enumerate 2023-09-04T19:55:26,432 devices on the USB2/3 bus. This isn't a full fix, but should resolve 2023-09-04T19:55:26,432 the problem of ``ash`` starting and not having any way to type, because 2023-09-04T19:55:26,432 it didn't connect to your main keyboard. 2023-09-04T19:55:26,433 Try to work around issues related to ATA/SCSI disk enumeration which could 2023-09-04T19:55:26,433 prevent the root filesystem from being mounted (see FL-11532). 2023-09-04T19:55:26,434 * Detect when a user has a ``/dev/sd*`` root block device and warn them that 2023-09-04T19:55:26,434 this is not a good idea, and can cause problems if you have multiple 2023-09-04T19:55:26,434 disks. Show them how to fix the problem by switching to UUID. 2023-09-04T19:55:26,435 * Remove scsi_debug module which is evil and if we force-load it, will create 2023-09-04T19:55:26,435 a new SCSI device 8MB in size and trigger the problem above for anyone 2023-09-04T19:55:26,436 with a SATA disk. 2023-09-04T19:55:26,436 * To implement above feature, added a feature to allow masking of modules in 2023-09-04T19:55:26,437 ``modules.copy`` via "-mod_shortname" in a specific section. Also added a 2023-09-04T19:55:26,437 lot of sanity checking and warnings. If you happen to mask a module in the 2023-09-04T19:55:26,437 wrong section, so it still gets included on the initramfs due to other 2023-09-04T19:55:26,437 section(s), we will warn you. 2023-09-04T19:55:26,438 funtoo-ramdisk 1.0.4 2023-09-04T19:55:26,439 -------------------- 2023-09-04T19:55:26,439 Released on August 18, 2023. 2023-09-04T19:55:26,440 This is a maintenance/bug fix release. 2023-09-04T19:55:26,440 * Fix ability to run from the git repo. This wasn't working. 2023-09-04T19:55:26,441 * Fix issue found by grouche, where if a module is built-in to the 2023-09-04T19:55:26,441 kernel but listed in ``modules.autoload``, ``ramdisk`` would throw 2023-09-04T19:55:26,442 an error because it would think it's not copied to the initramfs. 2023-09-04T19:55:26,442 We now read in the ``modules.builtin`` file and use this in the 2023-09-04T19:55:26,442 internal logic -- if a module is built-in to the kernel, we can 2023-09-04T19:55:26,443 not worry if it is our ``modules.autoload`` list. We still have it. 2023-09-04T19:55:26,443 We will also not worry about trying to load it at boot. 2023-09-04T19:55:26,444 * Add a debug output whenever a module is referenced that is actually 2023-09-04T19:55:26,444 a built-in. This helps to audit the behavior of the above 2023-09-04T19:55:26,444 functionality and could be useful to users of the tool as well. 2023-09-04T19:55:26,445 * Announce we are in debug mode with ``log.info()`` instead of a 2023-09-04T19:55:26,445 warning. Looks a bit nicer. 2023-09-04T19:55:26,977 running egg_info 2023-09-04T19:55:26,980 creating /tmp/pip-pip-egg-info-i4w726ia/funtoo_ramdisk.egg-info 2023-09-04T19:55:27,728 writing /tmp/pip-pip-egg-info-i4w726ia/funtoo_ramdisk.egg-info/PKG-INFO 2023-09-04T19:55:27,734 writing dependency_links to /tmp/pip-pip-egg-info-i4w726ia/funtoo_ramdisk.egg-info/dependency_links.txt 2023-09-04T19:55:27,739 writing requirements to /tmp/pip-pip-egg-info-i4w726ia/funtoo_ramdisk.egg-info/requires.txt 2023-09-04T19:55:27,741 writing top-level names to /tmp/pip-pip-egg-info-i4w726ia/funtoo_ramdisk.egg-info/top_level.txt 2023-09-04T19:55:27,744 writing manifest file '/tmp/pip-pip-egg-info-i4w726ia/funtoo_ramdisk.egg-info/SOURCES.txt' 2023-09-04T19:55:28,190 reading manifest file '/tmp/pip-pip-egg-info-i4w726ia/funtoo_ramdisk.egg-info/SOURCES.txt' 2023-09-04T19:55:28,193 reading manifest template 'MANIFEST.in' 2023-09-04T19:55:28,213 writing manifest file '/tmp/pip-pip-egg-info-i4w726ia/funtoo_ramdisk.egg-info/SOURCES.txt' 2023-09-04T19:55:28,354 Preparing metadata (setup.py): finished with status 'done' 2023-09-04T19:55:28,369 Source in /tmp/pip-wheel-p4l1fflj/funtoo-ramdisk_514e4a32ba9e4e80ba8809d42d390010 has version 1.1.2, which satisfies requirement funtoo-ramdisk==1.1.2 from https://files.pythonhosted.org/packages/5c/80/ca623eaa36c300bb5ae15cafcc2e31d47cd6c3b8e6fda88377ba1dce4daa/funtoo-ramdisk-1.1.2.tar.gz 2023-09-04T19:55:28,371 Removed funtoo-ramdisk==1.1.2 from https://files.pythonhosted.org/packages/5c/80/ca623eaa36c300bb5ae15cafcc2e31d47cd6c3b8e6fda88377ba1dce4daa/funtoo-ramdisk-1.1.2.tar.gz from build tracker '/tmp/pip-build-tracker-s4vsvjxk' 2023-09-04T19:55:28,389 Created temporary directory: /tmp/pip-unpack-c7n_59y0 2023-09-04T19:55:28,390 Building wheels for collected packages: funtoo-ramdisk 2023-09-04T19:55:28,399 Created temporary directory: /tmp/pip-wheel-fal56sl6 2023-09-04T19:55:28,400 Building wheel for funtoo-ramdisk (setup.py): started 2023-09-04T19:55:28,402 Destination directory: /tmp/pip-wheel-fal56sl6 2023-09-04T19:55:28,402 Running command python setup.py bdist_wheel 2023-09-04T19:55:29,514 ************** 2023-09-04T19:55:29,515 Funtoo Ramdisk 2023-09-04T19:55:29,516 ************** 2023-09-04T19:55:29,516 Copyright 2023 Daniel Robbins, Funtoo Solutions, Inc. 2023-09-04T19:55:29,517 Licensed under the Apache License, Version 2.0 (the "License"); 2023-09-04T19:55:29,517 you may not use this file except in compliance with the License. 2023-09-04T19:55:29,518 You may obtain a copy of the License at 2023-09-04T19:55:29,518 http://www.apache.org/licenses/LICENSE-2.0 2023-09-04T19:55:29,519 Unless required by applicable law or agreed to in writing, software 2023-09-04T19:55:29,519 distributed under the License is distributed on an "AS IS" BASIS, 2023-09-04T19:55:29,519 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 2023-09-04T19:55:29,520 See the License for the specific language governing permissions and 2023-09-04T19:55:29,520 limitations under the License. 2023-09-04T19:55:29,521 Introduction 2023-09-04T19:55:29,521 ============ 2023-09-04T19:55:29,522 The Funtoo ramdisk tool, called ``ramdisk`` is a stand-alone tool to create an 2023-09-04T19:55:29,522 initial RAM disk filesystem (initramfs) for booting your Linux system. 2023-09-04T19:55:29,523 The internal initramfs logic is based on the logic found in Gentoo Linux's 2023-09-04T19:55:29,523 genkernel tool, but has been rewritten to be simpler and more efficient. 2023-09-04T19:55:29,524 You can use this tool to create an initramfs to boot to a Funtoo Linux root 2023-09-04T19:55:29,524 ext4 or XFS filesystem, which is what we support in our official installation 2023-09-04T19:55:29,524 documentation at https://www.funtoo.org/Install -- but that's about it. 2023-09-04T19:55:29,525 What's Not Included 2023-09-04T19:55:29,525 =================== 2023-09-04T19:55:29,526 Nearly all "extra" genkernel features are intentionally not yet implemented. 2023-09-04T19:55:29,526 This tool doesn't build your kernel or modules. 2023-09-04T19:55:29,527 It also currently doesn't support dmraid, zfs, btrfs, encrypted root, or LiveCD 2023-09-04T19:55:29,527 or LiveUSB booting. 2023-09-04T19:55:29,528 Why not? Because one of the main design goals of this project is to create a 2023-09-04T19:55:29,528 very elegant and easy-to-understand initramfs whose core logic is not cluttered 2023-09-04T19:55:29,528 with tons of complicated features. To start from a clean slate, we are starting 2023-09-04T19:55:29,529 from very minimal functionality and then will very carefully add back various 2023-09-04T19:55:29,529 features while keeping the code clean, simple, elegant and effective. 2023-09-04T19:55:29,530 What's Included 2023-09-04T19:55:29,530 =============== 2023-09-04T19:55:29,530 So, what *does* Funtoo's ramdisk tool actually offer? Here's a list: 2023-09-04T19:55:29,531 * genkernel-style initramfs without the cruft. In comparison to genkernel's 2023-09-04T19:55:29,531 initramfs, the shell code is about 10x simpler and a lot cleaner and has 2023-09-04T19:55:29,532 been modernized. About 100 lines of shell script, with another 215 lines 2023-09-04T19:55:29,532 of functions in a support file. 2023-09-04T19:55:29,532 * Copies over the modules you specify -- and automatically figures out any 2023-09-04T19:55:29,533 kernel module dependencies, so any depended-upon modules are also copied. 2023-09-04T19:55:29,533 This eliminates the need to track these dependencies manually. 2023-09-04T19:55:29,534 * Rootless operation. You do not need enhanced privileges to create the 2023-09-04T19:55:29,534 initramfs. 2023-09-04T19:55:29,535 * You can read the ``linuxrc`` script and actually understand what it does. 2023-09-04T19:55:29,535 It is written to be easy to understand and adapt. So it's not just short, 2023-09-04T19:55:29,535 but easy to grasp. 2023-09-04T19:55:29,536 * Enhanced module loading engine on the initramfs which is significantly 2023-09-04T19:55:29,536 faster than genkernel. This effectively eliminates the "watching the 2023-09-04T19:55:29,537 stream of useless modules being loaded" issue with genkernel. Modern 2023-09-04T19:55:29,537 systems with NVMe drives will load just a handful of modules to boot 2023-09-04T19:55:29,537 -- all without requiring any special action from the user. 2023-09-04T19:55:29,538 * "kpop" functionality allows for building ramdisks with just the modules 2023-09-04T19:55:29,538 you need. For example, ``ramdisk --kpop=nvme,ext4`` will create a 2023-09-04T19:55:29,539 ramdisk that can boot on NVMe ext4 root filesystems, and only include 2023-09-04T19:55:29,539 these necessary modules, leaving all other modules to be loaded by 2023-09-04T19:55:29,539 your Funtoo Linux system. 2023-09-04T19:55:29,540 * Effective Python-based command to actually build the ramdisk, which is 2023-09-04T19:55:29,540 called: ``ramdisk``. This gives us an extensible platform for the future. 2023-09-04T19:55:29,541 * Enhanced ini-style system for selecting modules to include on your initramfs. 2023-09-04T19:55:29,541 * Enhanced ini-style system for selecting module groups to autoload on the initramfs. 2023-09-04T19:55:29,541 * Support for xz and zstd compression. 2023-09-04T19:55:29,542 How To Use It 2023-09-04T19:55:29,542 ============= 2023-09-04T19:55:29,543 First, install the package, via ``emerge ramdisk`` on Funtoo Linux, or alternatively 2023-09-04T19:55:29,543 ``pip3 install --user funtoo-ramdisk``. You will then have a ``ramdisk`` command 2023-09-04T19:55:29,543 in your path, which can be used to build a ramdisk. 2023-09-04T19:55:29,544 Then, as a regular user, you can run:: 2023-09-04T19:55:29,545 ramdisk /var/tmp/my-new-initramfs 2023-09-04T19:55:29,545 sudo cp /var/tmp/my-new-initramfs /boot 2023-09-04T19:55:29,546 By default, ``ramdisk`` will use your ``/usr/src/linux`` symlink to determine which 2023-09-04T19:55:29,546 kernel to use to build a ramdisk for. It will parse ``/usr/src/linux/Makefile``, 2023-09-04T19:55:29,546 extract kernel version information, and then find the appropriate directory in 2023-09-04T19:55:29,547 ``/lib/modules/`` for copying modules. You can type: 2023-09-04T19:55:29,547 ``ramdisk list kernels`` and ``ramdisk --kernel `` to build a ramdisk 2023-09-04T19:55:29,547 for a non-default kernel. 2023-09-04T19:55:29,548 Since this is brand-new software, it is highly recommended that you DO NOT OVERWRITE 2023-09-04T19:55:29,548 YOUR EXISTING, WORKING INITRAMFS THAT YOU CURRENTLY USE TO BOOT YOUR SYSTEM. 2023-09-04T19:55:29,549 Instead -- create a NEW BOOT ENTRY to test your initramfs. In GRUB, you can also 2023-09-04T19:55:29,549 press 'e' to edit an entry and type in the name of the new initramfs to give it a try. 2023-09-04T19:55:29,550 Enjoy -- and let me know how it works for you! Please report issues and feature 2023-09-04T19:55:29,550 requests to https://bugs.funtoo.org. 2023-09-04T19:55:29,551 ChangeLog 2023-09-04T19:55:29,551 ========= 2023-09-04T19:55:29,552 funtoo-ramdisk 1.1.2 2023-09-04T19:55:29,552 -------------------- 2023-09-04T19:55:29,553 Released on September 4, 2023. 2023-09-04T19:55:29,553 * Fix exit code (zero on success.) 2023-09-04T19:55:29,554 funtoo-ramdisk 1.1.1 2023-09-04T19:55:29,555 -------------------- 2023-09-04T19:55:29,555 Released on September 4, 2023. 2023-09-04T19:55:29,556 Fix three bugs: 2023-09-04T19:55:29,557 * Allow plugins to be loaded when installed in ``site-packages``. 2023-09-04T19:55:29,557 * Don't assume ``/usr/src/linux`` symlink exists in two places and 2023-09-04T19:55:29,557 handle this situation gracefully. This situation may exist during 2023-09-04T19:55:29,558 metro builds on incomplete systems. (2 bugs fixed). 2023-09-04T19:55:29,559 funtoo-ramdisk 1.1.0 2023-09-04T19:55:29,559 -------------------- 2023-09-04T19:55:29,560 Released on September 3, 2023. 2023-09-04T19:55:29,560 * Add plugin system for ramdisk: 2023-09-04T19:55:29,561 To use, pass ``--enable=,``. The ``core`` plugin is 2023-09-04T19:55:29,561 always enabled and copies ``/sbin/blkid``. There are currently ``btrfs`` 2023-09-04T19:55:29,561 and ``lvm`` plugins as well -- these are not yet fully-implemented and 2023-09-04T19:55:29,562 just ensure necessary binaries are copied over (no extra setup commands 2023-09-04T19:55:29,562 are run by the initramfs.) 2023-09-04T19:55:29,563 This is a starting point for enabling support for advanced 2023-09-04T19:55:29,563 features on the initramfs. 2023-09-04T19:55:29,564 * New "module configurations". The default module configuration is "full", 2023-09-04T19:55:29,564 which means "make a ramdisk with lots of modules to support a lot of 2023-09-04T19:55:29,564 hardware." Different module configurations can be added in the future. 2023-09-04T19:55:29,565 Module configurations can be specified via ``--kmod_config=``. 2023-09-04T19:55:29,565 * ``--kpop=`` feature to make minimal module ramdisks by specifying a 2023-09-04T19:55:29,566 dynamic module configuration via the command-line, rather than via 2023-09-04T19:55:29,566 static config files. 2023-09-04T19:55:29,567 If you specify ``--kpop=nvme,ext4`` then a ramdisk with just those 2023-09-04T19:55:29,567 modules (and their dependencies) will be included. This can dramatically 2023-09-04T19:55:29,567 reduce the size of your ramdisk. Note that this doesn't include the 2023-09-04T19:55:29,567 necessary modules to allow USB keyboards to work in the rescue shell, 2023-09-04T19:55:29,568 so it's only for known-good configurations. Enabling this feature also 2023-09-04T19:55:29,568 disables any static module configuration (see above.) 2023-09-04T19:55:29,569 * Change the binary plugin API so lists of binaries can be dynamically 2023-09-04T19:55:29,569 created and programmatic decisions can be made. Previously, we used a 2023-09-04T19:55:29,569 static list. This allows us to use ``lvm.static`` if available, but 2023-09-04T19:55:29,570 fall back to dynamic ``lvm``, for example. 2023-09-04T19:55:29,570 * To support ``kpop`` functionality, the ability to add a module by its 2023-09-04T19:55:29,570 basic name, not just via its full path or glob, was added to 2023-09-04T19:55:29,571 ``modules.copy``. 2023-09-04T19:55:29,571 * Modules code can now accept ``modules.copy`` and ``modules.autoload`` 2023-09-04T19:55:29,572 as dynamically-generated line data rather than just as static files 2023-09-04T19:55:29,572 that must exist on the filesystem. (Again, used by ``kpop``). 2023-09-04T19:55:29,573 * ``linuxrc`` has been improved/fixed to not have a hard-coded list of 2023-09-04T19:55:29,573 module groups to try to load, and instead use the ``modules.autoload`` 2023-09-04T19:55:29,573 groups to determine these. 2023-09-04T19:55:29,574 * ``ramdisk list kernels`` and ``ramdisk list plugins`` actions added. 2023-09-04T19:55:29,574 The former makes use of ``ramdisk --kernel `` easier because it 2023-09-04T19:55:29,574 prints the available kernel names which can be copy/pasted for the 2023-09-04T19:55:29,575 ``--kernel`` option. 2023-09-04T19:55:29,575 * Implemented our own argument parsing as ``argparse`` was not worth 2023-09-04T19:55:29,576 using. 2023-09-04T19:55:29,576 * Lots of code organized into their own ``.py`` files. 2023-09-04T19:55:29,577 * Make ``/etc/fstab`` sanity check a warning as this file may not be 2023-09-04T19:55:29,577 set up at all if doing a metro build. 2023-09-04T19:55:29,578 * Disable colors if we don't have an interactive shell. 2023-09-04T19:55:29,579 funtoo-ramdisk 1.0.7 2023-09-04T19:55:29,579 -------------------- 2023-09-04T19:55:29,580 Released on August 22, 2023. 2023-09-04T19:55:29,581 Changes: 2023-09-04T19:55:29,581 * Get rid of ``--modules_root``. Instead, added ``--fs_root`` which 2023-09-04T19:55:29,581 specifies where modules *and* the kernel sources will be. This 2023-09-04T19:55:29,582 allows the tool to work from an ebuild. 2023-09-04T19:55:29,582 * Improve output and add nice colors. Optimize information to be 2023-09-04T19:55:29,583 more useful to users. 2023-09-04T19:55:29,584 funtoo-ramdisk 1.0.6 2023-09-04T19:55:29,584 -------------------- 2023-09-04T19:55:29,585 Released on August 21, 2023. 2023-09-04T19:55:29,585 Two new options: 2023-09-04T19:55:29,586 * ``--modules_root`` to set the root filesystem to scan for modules. 2023-09-04T19:55:29,586 It defaults to ``/``. 2023-09-04T19:55:29,587 * ``--temp_root`` to set the default path to use for creating a 2023-09-04T19:55:29,587 temporary directory. It defaults to ``/var/tmp``. 2023-09-04T19:55:29,588 funtoo-ramdisk 1.0.5 2023-09-04T19:55:29,588 -------------------- 2023-09-04T19:55:29,589 Released on August 21, 2023. 2023-09-04T19:55:29,589 This is a features/maintenance/bug fix release. 2023-09-04T19:55:29,590 In addition to a bunch of minor fixes and clean-ups, which you can 2023-09-04T19:55:29,590 view in the git history, the following significant changes were 2023-09-04T19:55:29,591 made: 2023-09-04T19:55:29,591 * Use kmod ``/sbin/modprobe`` instead of busybox's modprobe. Busybox's modprobe 2023-09-04T19:55:29,592 may be fine, but for it to work, we must use busybox's ``depmod`` -- and we're 2023-09-04T19:55:29,592 not. We're using ``kmod``'s. So for now, let's just copy the right modprobe 2023-09-04T19:55:29,592 over. This fixes an issue where we get invalid symbols when loading modules 2023-09-04T19:55:29,592 using busybox ``modprobe``. ``modprobe`` is now resolving deps properly! :) 2023-09-04T19:55:29,593 At some point, we could make a "toggle" to select kmod/busybox mode. The 2023-09-04T19:55:29,593 best time to run ``depmod`` for busybox is probably once the ramdisk first 2023-09-04T19:55:29,594 boots, since it doesn't have a "root" option, making it hard to call from our 2023-09-04T19:55:29,594 ramdisk script. 2023-09-04T19:55:29,595 * Remove unused control character definitions in ``initrd.defaults``. 2023-09-04T19:55:29,595 * Mitigate an issue where ``ash`` shell could start before all USB keyboards 2023-09-04T19:55:29,596 have been detected, resulting in lack of input. We now wait 5 seconds 2023-09-04T19:55:29,596 before starting a rescue shell, to give the kernel time to enumerate 2023-09-04T19:55:29,596 devices on the USB2/3 bus. This isn't a full fix, but should resolve 2023-09-04T19:55:29,597 the problem of ``ash`` starting and not having any way to type, because 2023-09-04T19:55:29,597 it didn't connect to your main keyboard. 2023-09-04T19:55:29,597 Try to work around issues related to ATA/SCSI disk enumeration which could 2023-09-04T19:55:29,598 prevent the root filesystem from being mounted (see FL-11532). 2023-09-04T19:55:29,598 * Detect when a user has a ``/dev/sd*`` root block device and warn them that 2023-09-04T19:55:29,599 this is not a good idea, and can cause problems if you have multiple 2023-09-04T19:55:29,599 disks. Show them how to fix the problem by switching to UUID. 2023-09-04T19:55:29,599 * Remove scsi_debug module which is evil and if we force-load it, will create 2023-09-04T19:55:29,600 a new SCSI device 8MB in size and trigger the problem above for anyone 2023-09-04T19:55:29,600 with a SATA disk. 2023-09-04T19:55:29,601 * To implement above feature, added a feature to allow masking of modules in 2023-09-04T19:55:29,601 ``modules.copy`` via "-mod_shortname" in a specific section. Also added a 2023-09-04T19:55:29,601 lot of sanity checking and warnings. If you happen to mask a module in the 2023-09-04T19:55:29,601 wrong section, so it still gets included on the initramfs due to other 2023-09-04T19:55:29,602 section(s), we will warn you. 2023-09-04T19:55:29,603 funtoo-ramdisk 1.0.4 2023-09-04T19:55:29,603 -------------------- 2023-09-04T19:55:29,604 Released on August 18, 2023. 2023-09-04T19:55:29,604 This is a maintenance/bug fix release. 2023-09-04T19:55:29,605 * Fix ability to run from the git repo. This wasn't working. 2023-09-04T19:55:29,605 * Fix issue found by grouche, where if a module is built-in to the 2023-09-04T19:55:29,606 kernel but listed in ``modules.autoload``, ``ramdisk`` would throw 2023-09-04T19:55:29,606 an error because it would think it's not copied to the initramfs. 2023-09-04T19:55:29,606 We now read in the ``modules.builtin`` file and use this in the 2023-09-04T19:55:29,607 internal logic -- if a module is built-in to the kernel, we can 2023-09-04T19:55:29,607 not worry if it is our ``modules.autoload`` list. We still have it. 2023-09-04T19:55:29,607 We will also not worry about trying to load it at boot. 2023-09-04T19:55:29,608 * Add a debug output whenever a module is referenced that is actually 2023-09-04T19:55:29,608 a built-in. This helps to audit the behavior of the above 2023-09-04T19:55:29,609 functionality and could be useful to users of the tool as well. 2023-09-04T19:55:29,609 * Announce we are in debug mode with ``log.info()`` instead of a 2023-09-04T19:55:29,610 warning. Looks a bit nicer. 2023-09-04T19:55:30,231 running bdist_wheel 2023-09-04T19:55:31,115 running build 2023-09-04T19:55:31,115 running build_py 2023-09-04T19:55:31,233 creating build 2023-09-04T19:55:31,234 creating build/lib 2023-09-04T19:55:31,236 creating build/lib/funtoo_ramdisk 2023-09-04T19:55:31,238 copying funtoo_ramdisk/args.py -> build/lib/funtoo_ramdisk 2023-09-04T19:55:31,243 copying funtoo_ramdisk/utilities.py -> build/lib/funtoo_ramdisk 2023-09-04T19:55:31,247 copying funtoo_ramdisk/version.py -> build/lib/funtoo_ramdisk 2023-09-04T19:55:31,251 copying funtoo_ramdisk/modules.py -> build/lib/funtoo_ramdisk 2023-09-04T19:55:31,256 copying funtoo_ramdisk/__init__.py -> build/lib/funtoo_ramdisk 2023-09-04T19:55:31,259 copying funtoo_ramdisk/log.py -> build/lib/funtoo_ramdisk 2023-09-04T19:55:31,263 copying funtoo_ramdisk/initramfs.py -> build/lib/funtoo_ramdisk 2023-09-04T19:55:31,269 copying funtoo_ramdisk/const.py -> build/lib/funtoo_ramdisk 2023-09-04T19:55:31,273 copying funtoo_ramdisk/kernel.py -> build/lib/funtoo_ramdisk 2023-09-04T19:55:31,277 copying funtoo_ramdisk/plugin_base.py -> build/lib/funtoo_ramdisk 2023-09-04T19:55:31,281 copying funtoo_ramdisk/config_files.py -> build/lib/funtoo_ramdisk 2023-09-04T19:55:31,286 creating build/lib/funtoo_ramdisk/support 2023-09-04T19:55:31,288 copying funtoo_ramdisk/support/__init__.py -> build/lib/funtoo_ramdisk/support 2023-09-04T19:55:31,292 creating build/lib/funtoo_ramdisk/plugins 2023-09-04T19:55:31,294 copying funtoo_ramdisk/plugins/btrfs.py -> build/lib/funtoo_ramdisk/plugins 2023-09-04T19:55:31,298 copying funtoo_ramdisk/plugins/core.py -> build/lib/funtoo_ramdisk/plugins 2023-09-04T19:55:31,302 copying funtoo_ramdisk/plugins/lvm.py -> build/lib/funtoo_ramdisk/plugins 2023-09-04T19:55:31,305 copying funtoo_ramdisk/plugins/__init__.py -> build/lib/funtoo_ramdisk/plugins 2023-09-04T19:55:31,310 creating build/lib/funtoo_ramdisk/support/module_configs 2023-09-04T19:55:31,312 copying funtoo_ramdisk/support/module_configs/__init__.py -> build/lib/funtoo_ramdisk/support/module_configs 2023-09-04T19:55:31,317 creating build/lib/funtoo_ramdisk/support/module_configs/full 2023-09-04T19:55:31,319 copying funtoo_ramdisk/support/module_configs/full/__init__.py -> build/lib/funtoo_ramdisk/support/module_configs/full 2023-09-04T19:55:31,322 running egg_info 2023-09-04T19:55:32,195 writing funtoo_ramdisk.egg-info/PKG-INFO 2023-09-04T19:55:32,200 writing dependency_links to funtoo_ramdisk.egg-info/dependency_links.txt 2023-09-04T19:55:32,204 writing requirements to funtoo_ramdisk.egg-info/requires.txt 2023-09-04T19:55:32,207 writing top-level names to funtoo_ramdisk.egg-info/top_level.txt 2023-09-04T19:55:32,329 reading manifest file 'funtoo_ramdisk.egg-info/SOURCES.txt' 2023-09-04T19:55:32,335 reading manifest template 'MANIFEST.in' 2023-09-04T19:55:32,357 writing manifest file 'funtoo_ramdisk.egg-info/SOURCES.txt' 2023-09-04T19:55:32,363 /usr/local/lib/python3.7/dist-packages/setuptools/command/build_py.py:201: _Warning: Package 'funtoo_ramdisk.support.etc' is absent from the `packages` configuration. 2023-09-04T19:55:32,364 !! 2023-09-04T19:55:32,364 ******************************************************************************** 2023-09-04T19:55:32,364 ############################ 2023-09-04T19:55:32,365 # Package would be ignored # 2023-09-04T19:55:32,365 ############################ 2023-09-04T19:55:32,365 Python recognizes 'funtoo_ramdisk.support.etc' as an importable package[^1], 2023-09-04T19:55:32,366 but it is absent from setuptools' `packages` configuration. 2023-09-04T19:55:32,366 This leads to an ambiguous overall configuration. If you want to distribute this 2023-09-04T19:55:32,367 package, please make sure that 'funtoo_ramdisk.support.etc' is explicitly added 2023-09-04T19:55:32,367 to the `packages` configuration field. 2023-09-04T19:55:32,368 Alternatively, you can also rely on setuptools' discovery methods 2023-09-04T19:55:32,368 (for example by using `find_namespace_packages(...)`/`find_namespace:` 2023-09-04T19:55:32,368 instead of `find_packages(...)`/`find:`). 2023-09-04T19:55:32,369 You can read more about "package discovery" on setuptools documentation page: 2023-09-04T19:55:32,370 - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 2023-09-04T19:55:32,371 If you don't want 'funtoo_ramdisk.support.etc' to be distributed and are 2023-09-04T19:55:32,371 already explicitly excluding 'funtoo_ramdisk.support.etc' via 2023-09-04T19:55:32,371 `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 2023-09-04T19:55:32,372 you can try to use `exclude_package_data`, or `include-package-data=False` in 2023-09-04T19:55:32,372 combination with a more fine grained `package-data` configuration. 2023-09-04T19:55:32,373 You can read more about "package data files" on setuptools documentation page: 2023-09-04T19:55:32,373 - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 2023-09-04T19:55:32,374 [^1]: For Python, any directory (with suitable naming) can be imported, 2023-09-04T19:55:32,375 even if it does not contain any `.py` files. 2023-09-04T19:55:32,375 On the other hand, currently there is no concept of package data 2023-09-04T19:55:32,375 directory, all directories are treated like packages. 2023-09-04T19:55:32,376 ******************************************************************************** 2023-09-04T19:55:32,376 !! 2023-09-04T19:55:32,377 check.warn(importable) 2023-09-04T19:55:32,377 copying funtoo_ramdisk/support/initramfs.cpio -> build/lib/funtoo_ramdisk/support 2023-09-04T19:55:32,377 copying funtoo_ramdisk/support/linuxrc -> build/lib/funtoo_ramdisk/support 2023-09-04T19:55:32,378 creating build/lib/funtoo_ramdisk/support/etc 2023-09-04T19:55:32,379 copying funtoo_ramdisk/support/etc/initrd.defaults -> build/lib/funtoo_ramdisk/support/etc 2023-09-04T19:55:32,383 copying funtoo_ramdisk/support/etc/initrd.scripts -> build/lib/funtoo_ramdisk/support/etc 2023-09-04T19:55:32,389 copying funtoo_ramdisk/support/module_configs/full/modules.autoload -> build/lib/funtoo_ramdisk/support/module_configs/full 2023-09-04T19:55:32,393 copying funtoo_ramdisk/support/module_configs/full/modules.copy -> build/lib/funtoo_ramdisk/support/module_configs/full 2023-09-04T19:55:32,403 running build_scripts 2023-09-04T19:55:32,405 creating build/scripts-3.7 2023-09-04T19:55:32,407 copying and adjusting bin/ramdisk -> build/scripts-3.7 2023-09-04T19:55:32,410 changing mode of build/scripts-3.7/ramdisk from 644 to 755 2023-09-04T19:55:32,537 /usr/local/lib/python3.7/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. 2023-09-04T19:55:32,538 !! 2023-09-04T19:55:32,538 ******************************************************************************** 2023-09-04T19:55:32,539 Please avoid running ``setup.py`` directly. 2023-09-04T19:55:32,539 Instead, use pypa/build, pypa/installer, pypa/build or 2023-09-04T19:55:32,539 other standards-based tools. 2023-09-04T19:55:32,540 See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. 2023-09-04T19:55:32,540 ******************************************************************************** 2023-09-04T19:55:32,541 !! 2023-09-04T19:55:32,541 self.initialize_options() 2023-09-04T19:55:32,647 installing to build/bdist.linux-armv7l/wheel 2023-09-04T19:55:32,647 running install 2023-09-04T19:55:32,710 running install_lib 2023-09-04T19:55:32,822 creating build/bdist.linux-armv7l 2023-09-04T19:55:32,823 creating build/bdist.linux-armv7l/wheel 2023-09-04T19:55:32,827 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-04T19:55:32,830 copying build/lib/funtoo_ramdisk/args.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-04T19:55:32,834 copying build/lib/funtoo_ramdisk/utilities.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-04T19:55:32,838 copying build/lib/funtoo_ramdisk/version.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-04T19:55:32,842 copying build/lib/funtoo_ramdisk/modules.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-04T19:55:32,847 copying build/lib/funtoo_ramdisk/__init__.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-04T19:55:32,852 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support 2023-09-04T19:55:32,853 copying build/lib/funtoo_ramdisk/support/linuxrc -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support 2023-09-04T19:55:32,858 copying build/lib/funtoo_ramdisk/support/__init__.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support 2023-09-04T19:55:32,861 copying build/lib/funtoo_ramdisk/support/initramfs.cpio -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support 2023-09-04T19:55:32,866 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/module_configs 2023-09-04T19:55:32,868 copying build/lib/funtoo_ramdisk/support/module_configs/__init__.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/module_configs 2023-09-04T19:55:32,872 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/module_configs/full 2023-09-04T19:55:32,874 copying build/lib/funtoo_ramdisk/support/module_configs/full/__init__.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/module_configs/full 2023-09-04T19:55:32,878 copying build/lib/funtoo_ramdisk/support/module_configs/full/modules.autoload -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/module_configs/full 2023-09-04T19:55:32,882 copying build/lib/funtoo_ramdisk/support/module_configs/full/modules.copy -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/module_configs/full 2023-09-04T19:55:32,887 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/etc 2023-09-04T19:55:32,889 copying build/lib/funtoo_ramdisk/support/etc/initrd.scripts -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/etc 2023-09-04T19:55:32,893 copying build/lib/funtoo_ramdisk/support/etc/initrd.defaults -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/support/etc 2023-09-04T19:55:32,897 copying build/lib/funtoo_ramdisk/log.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-04T19:55:32,901 copying build/lib/funtoo_ramdisk/initramfs.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-04T19:55:32,905 copying build/lib/funtoo_ramdisk/const.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-04T19:55:32,910 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk/plugins 2023-09-04T19:55:32,911 copying build/lib/funtoo_ramdisk/plugins/btrfs.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/plugins 2023-09-04T19:55:32,915 copying build/lib/funtoo_ramdisk/plugins/core.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/plugins 2023-09-04T19:55:32,919 copying build/lib/funtoo_ramdisk/plugins/lvm.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/plugins 2023-09-04T19:55:32,922 copying build/lib/funtoo_ramdisk/plugins/__init__.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk/plugins 2023-09-04T19:55:32,925 copying build/lib/funtoo_ramdisk/kernel.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-04T19:55:32,928 copying build/lib/funtoo_ramdisk/plugin_base.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-04T19:55:32,932 copying build/lib/funtoo_ramdisk/config_files.py -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk 2023-09-04T19:55:32,935 running install_egg_info 2023-09-04T19:55:33,052 Copying funtoo_ramdisk.egg-info to build/bdist.linux-armv7l/wheel/funtoo_ramdisk-1.1.2-py3.7.egg-info 2023-09-04T19:55:33,071 running install_scripts 2023-09-04T19:55:33,073 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk-1.1.2.data 2023-09-04T19:55:33,074 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk-1.1.2.data/scripts 2023-09-04T19:55:33,076 copying build/scripts-3.7/ramdisk -> build/bdist.linux-armv7l/wheel/funtoo_ramdisk-1.1.2.data/scripts 2023-09-04T19:55:33,080 changing mode of build/bdist.linux-armv7l/wheel/funtoo_ramdisk-1.1.2.data/scripts/ramdisk to 755 2023-09-04T19:55:33,108 creating build/bdist.linux-armv7l/wheel/funtoo_ramdisk-1.1.2.dist-info/WHEEL 2023-09-04T19:55:33,114 creating '/tmp/pip-wheel-fal56sl6/funtoo_ramdisk-1.1.2-py3-none-any.whl' and adding 'build/bdist.linux-armv7l/wheel' to it 2023-09-04T19:55:33,119 adding 'funtoo_ramdisk/__init__.py' 2023-09-04T19:55:33,123 adding 'funtoo_ramdisk/args.py' 2023-09-04T19:55:33,125 adding 'funtoo_ramdisk/config_files.py' 2023-09-04T19:55:33,128 adding 'funtoo_ramdisk/const.py' 2023-09-04T19:55:33,133 adding 'funtoo_ramdisk/initramfs.py' 2023-09-04T19:55:33,136 adding 'funtoo_ramdisk/kernel.py' 2023-09-04T19:55:33,139 adding 'funtoo_ramdisk/log.py' 2023-09-04T19:55:33,145 adding 'funtoo_ramdisk/modules.py' 2023-09-04T19:55:33,147 adding 'funtoo_ramdisk/plugin_base.py' 2023-09-04T19:55:33,150 adding 'funtoo_ramdisk/utilities.py' 2023-09-04T19:55:33,152 adding 'funtoo_ramdisk/version.py' 2023-09-04T19:55:33,155 adding 'funtoo_ramdisk/plugins/__init__.py' 2023-09-04T19:55:33,158 adding 'funtoo_ramdisk/plugins/btrfs.py' 2023-09-04T19:55:33,160 adding 'funtoo_ramdisk/plugins/core.py' 2023-09-04T19:55:33,162 adding 'funtoo_ramdisk/plugins/lvm.py' 2023-09-04T19:55:33,166 adding 'funtoo_ramdisk/support/__init__.py' 2023-09-04T19:55:33,169 adding 'funtoo_ramdisk/support/initramfs.cpio' 2023-09-04T19:55:33,171 adding 'funtoo_ramdisk/support/linuxrc' 2023-09-04T19:55:33,175 adding 'funtoo_ramdisk/support/etc/initrd.defaults' 2023-09-04T19:55:33,178 adding 'funtoo_ramdisk/support/etc/initrd.scripts' 2023-09-04T19:55:33,181 adding 'funtoo_ramdisk/support/module_configs/__init__.py' 2023-09-04T19:55:33,185 adding 'funtoo_ramdisk/support/module_configs/full/__init__.py' 2023-09-04T19:55:33,188 adding 'funtoo_ramdisk/support/module_configs/full/modules.autoload' 2023-09-04T19:55:33,190 adding 'funtoo_ramdisk/support/module_configs/full/modules.copy' 2023-09-04T19:55:33,195 adding 'funtoo_ramdisk-1.1.2.data/scripts/ramdisk' 2023-09-04T19:55:33,202 adding 'funtoo_ramdisk-1.1.2.dist-info/METADATA' 2023-09-04T19:55:33,204 adding 'funtoo_ramdisk-1.1.2.dist-info/WHEEL' 2023-09-04T19:55:33,206 adding 'funtoo_ramdisk-1.1.2.dist-info/top_level.txt' 2023-09-04T19:55:33,208 adding 'funtoo_ramdisk-1.1.2.dist-info/RECORD' 2023-09-04T19:55:33,212 removing build/bdist.linux-armv7l/wheel 2023-09-04T19:55:33,406 Building wheel for funtoo-ramdisk (setup.py): finished with status 'done' 2023-09-04T19:55:33,414 Created wheel for funtoo-ramdisk: filename=funtoo_ramdisk-1.1.2-py3-none-any.whl size=32512 sha256=3d74e5ebfd1cccc7b8f485c95d434ef9e8bc1a4716f8a22b08a259452a4c73bc 2023-09-04T19:55:33,416 Stored in directory: /tmp/pip-ephem-wheel-cache-0govi71t/wheels/41/6d/14/4ee0376edb9445b987d1f396411d37a99cc39e454dbda72d19 2023-09-04T19:55:33,445 Successfully built funtoo-ramdisk 2023-09-04T19:55:33,454 Removed build tracker: '/tmp/pip-build-tracker-s4vsvjxk'