Downloading nk.bin without PB? [转]

本文介绍了一种使用TFTP客户端下载PB映像文件的方法,并解释了如何通过修改启动加载器使映像文件在下载后立即运行。此外,还提供了一些实用工具的建议,如eshell.exe和pumpkin等。

One alternative is to use a TFTP client to download the image. PB
download use a slightly modified TFTP protocol (it uses port 980 rather
than port 69), so you can use a TFTP client set to port 980 on the host
pc for the download. If you want the image to launch after download you
need to modify the bootloader to immediately jump to the image rather
than wait for a PB "jump" control command.

Anyone you like that can be set to port 980 (like for example tftpd32).
One more thing, though, you need to rename "nk.bin" to "boot.bin"
because that's the filename the bootloader tftp server expects to be
"put". Note that the bootloader implements a tftp *server*, so you
should use a tftp client on the host.

by Henrik Viklund
http://www.addlogic.se

You can try to get eshell.exe which was provided with PB3.0, or pumpkin
which is available on the web


is it necessary that you are able to download it from the pc?
one possibility is to load the new nk.bin file from an external sotrage
device.
in this case your bootloader has to support:

- handling fo external storage device (flash card, usb stick)
- simple fat system to read the nk.bin file
- small algorythm to detect an nk.bin file and store it in your flash
or ram

jack(unseen_coder@hotmail.com)

转载于:https://www.cnblogs.com/harber/archive/2007/12/07/987400.html

Total Installed Size: 745.06 MiB Net Upgrade Size: 216.39 MiB :: Proceed with installation? [Y/n] (85/85) checking keys in keyring [########################################] 100% downloading required keys... :: Import PGP key 9D4C5AA15426DA0A, "Frederik Schwan <freswa@archlinux.org>"? [Y/n] :: Import PGP key 94657AB20F2A092B, "Andreas Radke <andyrtr@archlinux.org>"? [Y/n] :: Import PGP key C06086337C50773E, "Jelle van der Waa <jelle@archlinux.org>"? [Y/n] :: Import PGP key 9B7A287D9A2EC608, "David Runge <dvzrv@archlinux.org>"? [Y/n] :: Import PGP key 6D42BDD116E0068F, "Christian Hesse <eworm@archlinux.org>"? [Y/n] :: Import PGP key 771DF6627EDF681F, "Tobias Powalowski <tpowa@archlinux.org>"? [Y/n] :: Import PGP key FC1B547C8D8172C8, "Levente Polyak <anthraxx@archlinux.org>"? [Y/n] :: Import PGP key B8AC08600F108CDF, "Jan Alexander Steffens (heftig) <heftig@archlinux.org>"? [Y/n] :: Import PGP key 786C63F330D7CB92, "Felix Yan <felixonmars@archlinux.org>"? [Y/n] :: Import PGP key FDC3040B92ACA748, "Robin Candau <antiz@archlinux.org>"? [Y/n] :: Import PGP key A91764759326B440, "Lukas Fleischer <lfleischer@archlinux.org>"? [Y/n] :: Import PGP key 7A4E76095D8A52E4, "Antonio Rojas <arojas@archlinux.org>"? [Y/n] :: Import PGP key F296BDE50368C6CE, "T.J. Townsend <blakkheim@archlinux.org>"? [Y/n] error: required key missing from keyring error: failed to commit transaction (unexpected error) Errors occurred, no packages were upgraded. ! Docker 安装失败Total Installed Size: 745.06 MiB Net Upgrade Size: 216.39 MiB :: Proceed with installation? [Y/n] (85/85) checking keys in keyring [########################################] 100% downloading required keys... :: Import PGP key 9D4C5AA15426DA0A, "Frederik Schwan <freswa@archlinux.org>"? [Y/n] :: Import PGP key 94657AB20F2A092B, "Andreas Radke <andyrtr@archlinux.org>"? [Y/n] :: Import PGP key C06086337C50773E, "Jelle van der Waa <jelle@archlinux.org>"? [Y/n] :: Import PGP key 9B7A287D9A2EC608, "David Runge <dvzrv@archlinux.org>"? [Y/n] :: Import PGP key 6D42BDD116E0068F, "Christian Hesse <eworm@archlinux.org>"? [Y/n] :: Import PGP key 771DF6627EDF681F, "Tobias Powalowski <tpowa@archlinux.org>"? [Y/n] :: Import PGP key FC1B547C8D8172C8, "Levente Polyak <anthraxx@archlinux.org>"? [Y/n] :: Import PGP key B8AC08600F108CDF, "Jan Alexander Steffens (heftig) <heftig@archlinux.org>"? [Y/n] :: Import PGP key 786C63F330D7CB92, "Felix Yan <felixonmars@archlinux.org>"? [Y/n] :: Import PGP key FDC3040B92ACA748, "Robin Candau <antiz@archlinux.org>"? [Y/n] :: Import PGP key A91764759326B440, "Lukas Fleischer <lfleischer@archlinux.org>"? [Y/n] :: Import PGP key 7A4E76095D8A52E4, "Antonio Rojas <arojas@archlinux.org>"? [Y/n] :: Import PGP key F296BDE50368C6CE, "T.J. Townsend <blakkheim@archlinux.org>"? [Y/n] error: required key missing from keyring error: failed to commit transaction (unexpected error) Errors occurred, no packages were upgraded. ! Docker 安装失败
07-14
<think>我们正在解决Arch Linux安装Docker时出现的"required key missing from keyring"错误。这个错误通常与GPG密钥相关,可能是由于缺少Docker仓库的签名密钥或密钥环问题导致的。 解决方案步骤: 1. 更新系统并安装必要工具 2. 添加Docker仓库(如果尚未添加) 3. 下载并导入Docker的GPG密钥 4. 验证密钥 5. 重新安装Docker 详细步骤: 步骤1:更新系统并安装必要的工具 首先,确保系统是最新的,并安装`archlinux-keyring`(包含Arch Linux的信任密钥)和`gnupg`(用于管理GPG密钥): ```bash sudo pacman -Syu archlinux-keyring gnupg ``` 步骤2:添加Docker仓库(如果尚未添加) 在`/etc/pacman.conf`文件中,确保有Docker仓库。在`[core]`、`[extra]`、`[community]`之后添加: ```ini [docker] Server = https://download.docker.com/linux/archlinux/$arch/stable ``` 如果已经添加,请跳过此步。 步骤3:下载并导入Docker的GPG密钥 下载Docker的GPG密钥并导入到pacman的密钥环中: ```bash curl -fsSL https://download.docker.com/linux/archlinux/gpg | sudo pacman-key --add - ``` 然后,签署导入的密钥(使用密钥指纹的最后8位): ```bash sudo pacman-key --lsign-key <密钥指纹的最后8位> ``` 注意:需要将`<密钥指纹的最后8位>`替换为实际的密钥指纹。可以通过以下命令查看: ```bash sudo pacman-key -f <刚才导入的密钥的指纹> ``` 或者,通常Docker的密钥指纹是:`9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88`,那么最后8位是`0EBFCD88`。所以签署命令为: ```bash sudo pacman-key --lsign-key 0EBFCD88 ``` 步骤4:验证密钥 验证密钥是否已正确导入并签名: ```bash sudo pacman-key --list-sigs 0EBFCD88 ``` 步骤5:重新安装Docker 更新软件包列表并安装Docker: ```bash sudo pacman -Syu docker ``` 如果以上步骤还不能解决问题,可以尝试清除pacman的缓存并重新下载软件包: ```bash sudo pacman -Scc sudo pacman -S docker ``` 注意:在执行这些命令时,请确保网络连接正常。 如果问题仍然存在,可能需要检查系统时间是否正确,或者尝试手动下载密钥并导入。 手动导入密钥的备用方法: 1. 下载密钥文件(例如,从Docker官方网站下载) 2. 使用`pacman-key`手动添加: ```bash sudo pacman-key -a /path/to/keyfile ``` 3. 然后签署该密钥(同上)。 引用说明:Arch Linux官方文档和Docker官方安装指南提供了相关步骤[^1]。 §§相关问题§§ 1. 如何验证Docker安装是否成功? 2. 如何配置Docker以非root用户运行? 3. 如何设置Docker开机启动?</think>### Arch Linux 安装 Docker 时 "required key missing from keyring" 错误解决方案 此错误通常由 GPG 密钥缺失或未正确签名导致,以下是完整解决流程: #### 1. **更新系统密钥环** 先更新 Arch Linux 的信任密钥库: ```bash sudo pacman -Syu archlinux-keyring ``` #### 2. **导入 Docker 官方 GPG 密钥** 下载并导入 Docker 的签名密钥: ```bash curl -fsSL https://download.docker.com/linux/archlinux/gpg | sudo pacman-key --add - ``` #### 3. **签名验证密钥** 使用密钥指纹的最后 8 位进行本地签名(Docker 密钥指纹为 `0EBFCD88`): ```bash sudo pacman-key --lsign-key 0EBFCD88 ``` #### 4. **配置 Docker 仓库** 编辑 pacman 配置文件: ```bash sudo nano /etc/pacman.conf ``` 在文件末尾添加: ```ini [docker] Server = https://download.docker.com/linux/archlinux/$arch/stable ``` #### 5. **刷新软件源并安装** ```bash sudo pacman -Syu sudo pacman -S docker ``` #### 6. **验证安装** 启动 Docker 并检查状态: ```bash sudo systemctl enable --now docker sudo docker run hello-world ``` #### 故障排查 - **若密钥仍报错**:手动下载并验证密钥: ```bash curl -O https://download.docker.com/linux/archlinux/gpg gpg --show-keys gpg # 验证指纹应为 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 ``` - **缓存问题**:清除 pacman 缓存后重试: ```bash sudo pacman -Scc sudo rm -rf /etc/pacman.d/gnupg sudo pacman-key --init sudo pacman-key --populate ``` > **原理说明**:该错误表明 pacman 无法验证 Docker 软件包的完整性。通过手动导入并签名 Docker 官方的 GPG 密钥,可建立信任链,确保安装包来源可靠[^1]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值