efibootdude 0.5__tar.gz → 0.5.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of efibootdude might be problematic. Click here for more details.
- efibootdude-0.5.2/.gitignore +6 -0
- {efibootdude-0.5/src/efibootdude.egg-info → efibootdude-0.5.2}/PKG-INFO +13 -11
- {efibootdude-0.5 → efibootdude-0.5.2}/README.md +4 -1
- efibootdude-0.5.2/deploy +8 -0
- {efibootdude-0.5/src → efibootdude-0.5.2}/efibootdude/main.py +6 -1
- efibootdude-0.5.2/images/efibootdude-screenshot.png +0 -0
- efibootdude-0.5.2/pyproject.toml +30 -0
- efibootdude-0.5.2/tests/efibootmgr.peggy.txt +13 -0
- efibootdude-0.5/PKG-INFO +0 -73
- efibootdude-0.5/pyproject.toml +0 -97
- efibootdude-0.5/setup.cfg +0 -4
- efibootdude-0.5/src/efibootdude.egg-info/SOURCES.txt +0 -12
- efibootdude-0.5/src/efibootdude.egg-info/dependency_links.txt +0 -1
- efibootdude-0.5/src/efibootdude.egg-info/entry_points.txt +0 -2
- efibootdude-0.5/src/efibootdude.egg-info/requires.txt +0 -4
- efibootdude-0.5/src/efibootdude.egg-info/top_level.txt +0 -1
- {efibootdude-0.5 → efibootdude-0.5.2}/LICENSE +0 -0
- {efibootdude-0.5/src → efibootdude-0.5.2}/efibootdude/PowerWindow.py +0 -0
- {efibootdude-0.5/src → efibootdude-0.5.2}/efibootdude/__init__.py +0 -0
|
@@ -1,20 +1,18 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: efibootdude
|
|
3
|
-
Version: 0.5
|
|
3
|
+
Version: 0.5.2
|
|
4
4
|
Summary: A visual wrapper for efibootmgr
|
|
5
|
-
Author-email: Joe Defen <joedef@duck.com>
|
|
6
|
-
License: MIT
|
|
7
|
-
Project-URL: Homepage, https://github.com/joedefen/efibootdude
|
|
8
|
-
Project-URL: Bug Tracker, https://github.com/joedefen/efibootdude/issues
|
|
9
5
|
Keywords: app,installer,manager,appimages
|
|
6
|
+
Author-email: Joe Defen <joedef@duck.com>
|
|
7
|
+
Requires-Python: >=3.8
|
|
8
|
+
Description-Content-Type: text/markdown
|
|
10
9
|
Classifier: Programming Language :: Python :: 3
|
|
11
10
|
Classifier: License :: OSI Approved :: MIT License
|
|
12
11
|
Classifier: Operating System :: POSIX :: Linux
|
|
13
|
-
Requires-Python: >=3.8
|
|
14
|
-
Description-Content-Type: text/markdown
|
|
15
12
|
License-File: LICENSE
|
|
16
|
-
Requires-Dist: importlib-metadata; python_version
|
|
17
|
-
|
|
13
|
+
Requires-Dist: importlib-metadata; python_version<"3.8"
|
|
14
|
+
Project-URL: Bug Tracker, https://github.com/joedefen/efibootdude/issues
|
|
15
|
+
Project-URL: Homepage, https://github.com/joedefen/efibootdude
|
|
18
16
|
|
|
19
17
|
# EfiBootDude
|
|
20
18
|
`efibootdude` presents a visual (curses) interface to `efibootmgr` which allows editing the bios
|
|
@@ -56,9 +54,12 @@ At this point
|
|
|
56
54
|
active by typing `*` for the corresponding entries.
|
|
57
55
|
* Press `ESC` key to abandon any changes and reload the boot information.
|
|
58
56
|
* When ready to write the changes to the BIOS, enter `w`.
|
|
59
|
-
* When the changes look good, type `b` to reboot, if you wish.
|
|
60
57
|
* When writing the changes, `efibootdude` drops out of menu mode so you can
|
|
61
58
|
verify the underlying commands, error codes, and error messages.
|
|
59
|
+
* After you write changes, type `b` to reboot, if you wish and the boot menu looks OK.
|
|
60
|
+
* BTW, the top-line keys vary per context; e.g.:
|
|
61
|
+
* `w` is only shown with pending changes, and
|
|
62
|
+
* `b` is only shown w/o pending changes.
|
|
62
63
|
|
|
63
64
|
## Caveats
|
|
64
65
|
* Some operations may not work permanently even though there is no indication from `efibootmgr`
|
|
@@ -71,3 +72,4 @@ This project was inspired by [Elinvention/efiboots](https://github.com/Elinventi
|
|
|
71
72
|
* to be easier to install especially when not in your distro's repos.
|
|
72
73
|
* to clearly present the partition of the boot entries (as a mount point if mounted and, otherwise, the device pathname).
|
|
73
74
|
* to show the underlying commands being run for education, for verification, and for help on investigating issues.
|
|
75
|
+
|
|
@@ -38,9 +38,12 @@ At this point
|
|
|
38
38
|
active by typing `*` for the corresponding entries.
|
|
39
39
|
* Press `ESC` key to abandon any changes and reload the boot information.
|
|
40
40
|
* When ready to write the changes to the BIOS, enter `w`.
|
|
41
|
-
* When the changes look good, type `b` to reboot, if you wish.
|
|
42
41
|
* When writing the changes, `efibootdude` drops out of menu mode so you can
|
|
43
42
|
verify the underlying commands, error codes, and error messages.
|
|
43
|
+
* After you write changes, type `b` to reboot, if you wish and the boot menu looks OK.
|
|
44
|
+
* BTW, the top-line keys vary per context; e.g.:
|
|
45
|
+
* `w` is only shown with pending changes, and
|
|
46
|
+
* `b` is only shown w/o pending changes.
|
|
44
47
|
|
|
45
48
|
## Caveats
|
|
46
49
|
* Some operations may not work permanently even though there is no indication from `efibootmgr`
|
efibootdude-0.5.2/deploy
ADDED
|
@@ -358,7 +358,8 @@ class EfiBootDude:
|
|
|
358
358
|
actions['m'] = 'modify'
|
|
359
359
|
if self.mods.dirty:
|
|
360
360
|
actions['w'] = 'write'
|
|
361
|
-
|
|
361
|
+
else:
|
|
362
|
+
actions['b'] = 'boot'
|
|
362
363
|
|
|
363
364
|
return actions
|
|
364
365
|
|
|
@@ -500,6 +501,10 @@ class EfiBootDude:
|
|
|
500
501
|
return None
|
|
501
502
|
|
|
502
503
|
if key == ord('b'):
|
|
504
|
+
if self.mods.dirty:
|
|
505
|
+
self.win.alert('Pending changes (on return, use "w" to commit or "ESC" to discard)')
|
|
506
|
+
return
|
|
507
|
+
|
|
503
508
|
answer = self.win.answer(prompt='Type "reboot" to reboot',
|
|
504
509
|
seed='reboot', width=80)
|
|
505
510
|
if answer.strip().lower().startswith('reboot'):
|
|
Binary file
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["flit_core>=3.4"]
|
|
3
|
+
build-backend = "flit_core.buildapi"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "efibootdude"
|
|
7
|
+
version = "0.5.2"
|
|
8
|
+
description = "A visual wrapper for efibootmgr"
|
|
9
|
+
authors = [
|
|
10
|
+
{ name = "Joe Defen", email = "joedef@duck.com" }
|
|
11
|
+
]
|
|
12
|
+
readme = "README.md"
|
|
13
|
+
license = { text = "MIT" }
|
|
14
|
+
requires-python = ">=3.8"
|
|
15
|
+
keywords = ["app", "installer", "manager", "appimages"]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Programming Language :: Python :: 3",
|
|
18
|
+
"License :: OSI Approved :: MIT License",
|
|
19
|
+
"Operating System :: POSIX :: Linux"
|
|
20
|
+
]
|
|
21
|
+
dependencies = [
|
|
22
|
+
'importlib-metadata; python_version<"3.8"',
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
[project.urls]
|
|
26
|
+
"Homepage" = "https://github.com/joedefen/efibootdude"
|
|
27
|
+
"Bug Tracker" = "https://github.com/joedefen/efibootdude/issues"
|
|
28
|
+
|
|
29
|
+
[project.scripts]
|
|
30
|
+
efibootdude = "efibootdude.main:main"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
BootCurrent: 000A
|
|
2
|
+
Timeout: 0 seconds
|
|
3
|
+
BootOrder: 000A,0009,0007,0006,0005,0003,0000,0008
|
|
4
|
+
Boot0000* UEFI KBG40ZNS256G NVMe KIOXIA 256GB X0LPG5C2QUM1 1 PciRoot(0x0)/Pci(0x1d,0x0)/Pci(0x0,0x0)/NVMe(0x1,8C-E3-8E-04-01-4B-A2-BE)/HD(1,GPT,ff29365d-a734-4a11-a40d-24ee292cf494,0x800,0x4b000)/File(\EFI\Boot\BootX64.efi){auto_created_boot_option}
|
|
5
|
+
Boot0001* ONBOARD NIC (IPV4) PciRoot(0x0)/Pci(0x1d,0x5)/Pci(0x0,0x0)/MAC(b07b255eaf61,0)/IPv4(0.0.0.00.0.0.0,0,0){auto_created_boot_option}
|
|
6
|
+
Boot0002* ONBOARD NIC (IPV6) PciRoot(0x0)/Pci(0x1d,0x5)/Pci(0x0,0x0)/MAC(b07b255eaf61,0)/IPv6([::]:<->[::]:,0,0){auto_created_boot_option}
|
|
7
|
+
Boot0003* Windows Boot Manager HD(1,GPT,ff29365d-a734-4a11-a40d-24ee292cf494,0x800,0x4b000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d000000ffff0100000010000000040000007fff0400
|
|
8
|
+
Boot0005* Fedora HD(9,GPT,5dd8ef9c-ef8a-e24c-a3a3-d5ec461cf143,0x1af69000,0x400000)/File(\EFI\fedora\shimx64.efi)
|
|
9
|
+
Boot0006* neon HD(1,GPT,ff29365d-a734-4a11-a40d-24ee292cf494,0x800,0x4b000)/File(\EFI\neon\shimx64.efi)
|
|
10
|
+
Boot0007* Fedora HD(9,GPT,5dd8ef9c-ef8a-e24c-a3a3-d5ec461cf143,0x1af69000,0x400000)/File(\EFI\fedora\shimx64.efi)
|
|
11
|
+
Boot0008* UEFI KBG40ZNS256G NVMe KIOXIA 256GB X0LPG5C2QUM1 1 2 PciRoot(0x0)/Pci(0x1d,0x0)/Pci(0x0,0x0)/NVMe(0x1,8C-E3-8E-04-01-4B-A2-BE)/HD(9,GPT,5dd8ef9c-ef8a-e24c-a3a3-d5ec461cf143,0x1af69000,0x400000)/File(\EFI\Boot\BootX64.efi){auto_created_boot_option}
|
|
12
|
+
Boot0009* Linux Boot Manager HD(9,GPT,5dd8ef9c-ef8a-e24c-a3a3-d5ec461cf143,0x1af69000,0x400000)/File(\EFI\systemd\systemd-bootx64.efi)
|
|
13
|
+
Boot000A* Ubuntu HD(9,GPT,5dd8ef9c-ef8a-e24c-a3a3-d5ec461cf143,0x1af69000,0x400000)/File(\EFI\ubuntu\shimx64.efi)
|
efibootdude-0.5/PKG-INFO
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: efibootdude
|
|
3
|
-
Version: 0.5
|
|
4
|
-
Summary: A visual wrapper for efibootmgr
|
|
5
|
-
Author-email: Joe Defen <joedef@duck.com>
|
|
6
|
-
License: MIT
|
|
7
|
-
Project-URL: Homepage, https://github.com/joedefen/efibootdude
|
|
8
|
-
Project-URL: Bug Tracker, https://github.com/joedefen/efibootdude/issues
|
|
9
|
-
Keywords: app,installer,manager,appimages
|
|
10
|
-
Classifier: Programming Language :: Python :: 3
|
|
11
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
12
|
-
Classifier: Operating System :: POSIX :: Linux
|
|
13
|
-
Requires-Python: >=3.8
|
|
14
|
-
Description-Content-Type: text/markdown
|
|
15
|
-
License-File: LICENSE
|
|
16
|
-
Requires-Dist: importlib-metadata; python_version < "3.8"
|
|
17
|
-
Requires-Dist: psutil>=5.9
|
|
18
|
-
|
|
19
|
-
# EfiBootDude
|
|
20
|
-
`efibootdude` presents a visual (curses) interface to `efibootmgr` which allows editing the bios
|
|
21
|
-
boot menu and parameters while running Linux.
|
|
22
|
-
|
|
23
|
-
* Install `efibootdude` using `pipx install efibootdude`, or however you do so.
|
|
24
|
-
* Prerequisites: install [rhboot/efibootmgr](https://github.com/rhboot/efibootmgr)
|
|
25
|
-
* For example, on a Debian derived distro, use `sudo apt install efibootmgr`.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
`efibootdude` covers only the most commonly used capabilities of `efibootmgr` including:
|
|
29
|
-
* reordering boot entries,
|
|
30
|
-
* removing boot entries,
|
|
31
|
-
* setting the boot entry for the next boot only,
|
|
32
|
-
* setting boot entries active or inactive, and
|
|
33
|
-
* setting the boot menu timeout value (until it boots the default entry).
|
|
34
|
-
|
|
35
|
-
To be sure, there are many other esoteric uses of `efibootmanager` including adding
|
|
36
|
-
a new boot entry; for such needs, just use `efibootmgr` directly.
|
|
37
|
-
|
|
38
|
-
## Usage
|
|
39
|
-
After running `efibootdude` and making some changes, you'll see a screen comparable to this:
|
|
40
|
-
|
|
41
|
-
.
|
|
42
|
-
|
|
43
|
-
At this point
|
|
44
|
-
* The "current" line starts with `>` and is highlighted.
|
|
45
|
-
* The top line shows actions for the current line; type the underscored letter
|
|
46
|
-
to effect its action.
|
|
47
|
-
* Type `?` for a more complete explanation of the keys, navigation keys, etc.
|
|
48
|
-
* **ALWAYS** view the help at least once if unfamiliar with this tool,
|
|
49
|
-
it navigation, and/or uncertain of keys not shown on top line.
|
|
50
|
-
* With this current line, we can:
|
|
51
|
-
* Type `u` or `d` to move it up or down in the boot order.
|
|
52
|
-
* Type `t` to relabel the boot entry.
|
|
53
|
-
* Type `r` to remove the boot entry.
|
|
54
|
-
* And so forth.
|
|
55
|
-
* The entries with `*` on the left are active boot entries; toggle whether
|
|
56
|
-
active by typing `*` for the corresponding entries.
|
|
57
|
-
* Press `ESC` key to abandon any changes and reload the boot information.
|
|
58
|
-
* When ready to write the changes to the BIOS, enter `w`.
|
|
59
|
-
* When the changes look good, type `b` to reboot, if you wish.
|
|
60
|
-
* When writing the changes, `efibootdude` drops out of menu mode so you can
|
|
61
|
-
verify the underlying commands, error codes, and error messages.
|
|
62
|
-
|
|
63
|
-
## Caveats
|
|
64
|
-
* Some operations may not work permanently even though there is no indication from `efibootmgr`
|
|
65
|
-
(e.g., on my desktop, I cannot re-label boot entries).
|
|
66
|
-
* Some operations may only work (again) after re-booting (e.g., you might find activating
|
|
67
|
-
an entry does not work, but it does so after a reboot).
|
|
68
|
-
|
|
69
|
-
## About this Project
|
|
70
|
-
This project was inspired by [Elinvention/efiboots](https://github.com/Elinvention/efiboots). Relative to that project, the aims of `efibootdude` are:
|
|
71
|
-
* to be easier to install especially when not in your distro's repos.
|
|
72
|
-
* to clearly present the partition of the boot entries (as a mount point if mounted and, otherwise, the device pathname).
|
|
73
|
-
* to show the underlying commands being run for education, for verification, and for help on investigating issues.
|
efibootdude-0.5/pyproject.toml
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
# HOW TO DEVELOP
|
|
2
|
-
|
|
3
|
-
#
|
|
4
|
-
# Prep Work (ensure need modules are up-to-date):
|
|
5
|
-
# sudo apt install python3-pip
|
|
6
|
-
# sudo apt install python3-pip-whl
|
|
7
|
-
# pip install build --break-system-packages
|
|
8
|
-
# sudo apt install twine
|
|
9
|
-
# -- antiquated way
|
|
10
|
-
# sudo pacman -Syu python-pip
|
|
11
|
-
# sudo pacman -Syu python-build
|
|
12
|
-
# sudo pacman -Syu python-twine
|
|
13
|
-
# -- antiquated way
|
|
14
|
-
# python3 -m pip install --upgrade pip
|
|
15
|
-
# python3 -m pip install --upgrade build
|
|
16
|
-
# python3 -m pip install --upgrade twine
|
|
17
|
-
#
|
|
18
|
-
# Optionally, `python3 -m venv venv`, and then
|
|
19
|
-
# - source env/bin/activate # to activate
|
|
20
|
-
# - deactivate # to deactivate
|
|
21
|
-
#
|
|
22
|
-
# rm -rf ./dist && python3 -m build && pip install -e . --break-system-packages
|
|
23
|
-
# pip-tray
|
|
24
|
-
#
|
|
25
|
-
# -OR-
|
|
26
|
-
# python3 -m efibootdude.main
|
|
27
|
-
#
|
|
28
|
-
# -OR-
|
|
29
|
-
# cd src/efibootdude && ./main.py
|
|
30
|
-
#
|
|
31
|
-
# -OR-
|
|
32
|
-
# src/efibootdude/main.py
|
|
33
|
-
|
|
34
|
-
# HOW TO PUBLISH...
|
|
35
|
-
# PUBLIC Build and deploy (from project directory):
|
|
36
|
-
# ## BUMP the version (below in [project])
|
|
37
|
-
# rm -rf dist; python3 -m build; ls dist/.
|
|
38
|
-
# python3 -m twine upload dist/* # keyring --disable # may be required
|
|
39
|
-
# ## Enter __token__ and the saved TOKEN (in bitwarden)
|
|
40
|
-
# pipx upgrade pwr-tray || pipx install pwr-tray # >= python3.11
|
|
41
|
-
# --OR-- sudo python3 -m pip install pwr-tray # <= python3.10
|
|
42
|
-
# ## VISIT https://pypi.org/project/pwr-tray and delete old versions
|
|
43
|
-
#
|
|
44
|
-
# TEST Build and test (from project directory):
|
|
45
|
-
# ## BUMP the version (below in [project])
|
|
46
|
-
# rm -r dist; python3 -m build
|
|
47
|
-
# python3 -m twine upload --repository testpypi dist/* # keyring --disable # may be required
|
|
48
|
-
# ## Enter __token__ and the saved TOKEN (in bitwarden)
|
|
49
|
-
# sudo python3 -m pip install --upgrade --index-url https://test.pypi.org/simple/ --no-deps --break-system-packages my-sna
|
|
50
|
-
# ## VISIT https://test.pypi.org/project/pwr-tray and delete old versions
|
|
51
|
-
|
|
52
|
-
[build-system]
|
|
53
|
-
requires = ["setuptools>=42", "wheel"]
|
|
54
|
-
build-backend = "setuptools.build_meta"
|
|
55
|
-
|
|
56
|
-
[project]
|
|
57
|
-
name = "efibootdude"
|
|
58
|
-
version = "0.5"
|
|
59
|
-
description = "A visual wrapper for efibootmgr"
|
|
60
|
-
authors = [
|
|
61
|
-
{ name = "Joe Defen", email = "joedef@duck.com" }
|
|
62
|
-
]
|
|
63
|
-
readme = "README.md"
|
|
64
|
-
license = { text = "MIT" }
|
|
65
|
-
requires-python = ">=3.8"
|
|
66
|
-
|
|
67
|
-
keywords = ["app", "installer", "manager", "appimages", ]
|
|
68
|
-
|
|
69
|
-
classifiers = [
|
|
70
|
-
"Programming Language :: Python :: 3",
|
|
71
|
-
"License :: OSI Approved :: MIT License",
|
|
72
|
-
"Operating System :: POSIX :: Linux"
|
|
73
|
-
]
|
|
74
|
-
dependencies = [
|
|
75
|
-
'importlib-metadata; python_version<"3.8"',
|
|
76
|
-
'psutil>=5.9',
|
|
77
|
-
]
|
|
78
|
-
|
|
79
|
-
[project.urls]
|
|
80
|
-
"Homepage" = "https://github.com/joedefen/efibootdude"
|
|
81
|
-
"Bug Tracker" = "https://github.com/joedefen/efibootdude/issues"
|
|
82
|
-
|
|
83
|
-
[project.scripts]
|
|
84
|
-
efibootdude = "efibootdude.main:main"
|
|
85
|
-
|
|
86
|
-
[tool.setuptools]
|
|
87
|
-
package-dir = {"" = "src"}
|
|
88
|
-
|
|
89
|
-
[tool.setuptools.packages.find]
|
|
90
|
-
where = ["src"]
|
|
91
|
-
|
|
92
|
-
[tool.setuptools.package-data]
|
|
93
|
-
|
|
94
|
-
exclude = [
|
|
95
|
-
"__pycache__",
|
|
96
|
-
]
|
|
97
|
-
|
efibootdude-0.5/setup.cfg
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
LICENSE
|
|
2
|
-
README.md
|
|
3
|
-
pyproject.toml
|
|
4
|
-
src/efibootdude/PowerWindow.py
|
|
5
|
-
src/efibootdude/__init__.py
|
|
6
|
-
src/efibootdude/main.py
|
|
7
|
-
src/efibootdude.egg-info/PKG-INFO
|
|
8
|
-
src/efibootdude.egg-info/SOURCES.txt
|
|
9
|
-
src/efibootdude.egg-info/dependency_links.txt
|
|
10
|
-
src/efibootdude.egg-info/entry_points.txt
|
|
11
|
-
src/efibootdude.egg-info/requires.txt
|
|
12
|
-
src/efibootdude.egg-info/top_level.txt
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
efibootdude
|
|
File without changes
|
|
File without changes
|
|
File without changes
|