Rpi-imager: 高级选项菜单在 v1.7 中不可用

创建于 2022-02-03  ·  28评论  ·  资料来源: raspberrypi/rpi-imager

您好,感谢您的rpi-imager

我刚刚重建以升级到 1.7 版,并且无法再访问“Ctrl+Shift+x”高级选项页面。
我的操作系统 = Debian Bullseye x86_64

使用这些按键时,控制台会打印以下内容(我也保留了启动控制台输出):

patrick$: rpi-imager https://downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2022-01-28/2022-01-28-raspios-bullseye-arm64-lite.zip
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
qrc:/main.qml:304:21: QML Rectangle: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
qrc:/OptionsPopup.qml:488: Error: Cannot assign [undefined] to bool
qrc:/OptionsPopup.qml:488: Error: Cannot assign [undefined] to bool
qrc:/OptionsPopup.qml:488: Error: Cannot assign [undefined] to bool
qrc:/OptionsPopup.qml:488: Error: Cannot assign [undefined] to bool

我已经确认使用在线操作系统列表中的图像时会发生同样的事情。 下面的输出来自选择默认的 RaspiOS 32 位并尝试单击设置图标并尝试按“Ctrl+Shift+X”

Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
qrc:/main.qml:304:21: QML Rectangle: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
QObject::setParent: Cannot set parent, new parent is in a different thread
qrc:/OptionsPopup.qml:488: Error: Cannot assign [undefined] to bool
qrc:/OptionsPopup.qml:488: Error: Cannot assign [undefined] to bool
qrc:/OptionsPopup.qml:488: Error: Cannot assign [undefined] to bool

预先感谢您对此的帮助,
帕特里克

最有用的评论

@maxnet - 退出后,删除首选项文件并再次打开 Imager,我看不出有什么区别

奇怪的。

您能否确认或否认这些构建确实解决了问题?

树莓派成像仪 1.7.1.dmg
rpi-imager_1.7.1_amd64.deb

所有28条评论

在 Windows 版本上也有这个问题。 现在窗口中出现了一个齿轮,大概是高级设置,但是当我单击它时没有任何反应。 试图找到回滚到 1.6 的方法

@jssalter您应该能够通过简单地从此处获取 1.6.exe 来降级您的 Windows 版本——我希望这对您有所帮助。

@jssalter https://github.com/raspberrypi/rpi-imager/releases/tag/v1.7说高级设置选项仅在 RPi Imager 检测到图像“可配置”时才有效?

@lurch我已经确认默认的 RaspiOS Desktop 32 位正在发生这种情况。

你能确认你在什么操作系统上复制了这个吗?

您是否在 Raspberry Pi OS 上运行 rpi-imager?

我在 macOS Big Sur (11.6) 上运行它,当我按 Shift + Ctrl + X 时没有出现任何选项。

当我选择一个可配置的图像时,我看到一个选项 cog 出现在右下角,但单击它什么也没做:

imager-options

在带有 RasPiOS 64 位 Lite 映像的 MacOS Big Sur 11.6.3 上对我来说也是如此。 出现一个齿轮图标,但不执行任何操作。 啊,当我在打字时,杰夫上传了一个 gif; 所以是的,那个。

如创建问题时所述,我使用的是 Debian Bullseye x86_64

在 macOS Catalina 上为我工作。 这可能是 Bug Sur 上的权限问题,因为它确实会在打开窗口之前提示我,要求允许从我的钥匙串中提供 Wi-Fi 密码。

Screenshot 2022-02-03 at 17 06 06

在 macOS 后 Catalina 上,权限变得更加复杂。

不管我是否允许,高级选项菜单都会出现。

@aallan谢谢。 可能是这样,但 Imager 的先前版本 1.6.2 在 Big Sur 和 Monterey 上运行良好。 OP 在 Debian x86 上有这个问题。

qrc:/OptionsPopup. qml:488 : 错误: 无法将 [undefined] 分配给 bool

啊,由隐藏的wifi ssid代码引起的。
这错误地假设如果存储了 wifi 设置,也总是存储一个设置,说明 wifi ssid 是否隐藏。
但是,在以前的版本中使用 ctrl+shift+x、保存 wifi 设置并选择使用保存设置“始终使用”的用户没有该设置...

作为目前的解决方法,删除您存储的设置应该可以工作。

Linux:

rm  ~/.config/Raspberry\ Pi/Imager.conf

Mac OSX:

rm ~/Library/Preferences/org.raspberrypi.Imager.plist

@maxnet - 退出,删除首选项文件并再次打开 Imager 后,我看不出有什么区别(键盘快捷键在选择图像之前或之后不起作用,设置 cog 在单击时从不执行任何操作)。

情节变厚了——附上视频,因为它是最简单的说明方式,但基本上,当我选择“写入”时,1.7 中我真正能够写入图像的唯一方法是清除所有设置——设置选择对话框出现,但再次单击任何选项来配置高级选项会导致没有任何反应:

https://user-images.githubusercontent.com/481677/152397752-a8fbc2e5-093f-41c1-bcf4-b64c7157c7a3.mov

刚刚在另一台笔记本电脑上进行了测试,这台运行 macOS Big Sur 11.6.1。 这个对我有用。

我得到相同的提示来从我的钥匙串传递 wifi 凭据,但是当我按下齿轮时无论哪种方式,高级选项菜单都会出现。

@maxnet - 退出后,删除首选项文件并再次打开 Imager,我看不出有什么区别

奇怪的。

您能否确认或否认这些构建确实解决了问题?

树莓派成像仪 1.7.1.dmg
rpi-imager_1.7.1_amd64.deb

你好, @maxnet - 感谢您的出色修复。 我刚刚从https://github.com/raspberrypi/rpi-imager/commit/d91f8d95b1c9eab3153d0a6f32abeaeb95f87104构建,可以确认一切正常。

谢谢!!!

v1.7.0中的@maxnet 我有完全相同的错误(macOS monterey 12.0.1),但在 v1.7.1 中它也为我修复了

在 1.7.1 上一切都按预期工作。

很高兴听到 1.7.1 中修复了
现在也在发布页面上。 关闭这个。

是的,1.7.1 适用于 Big Sur,这并没有删除我旧的“始终使用”设置。 谢谢!

@jssalter https://github.com/raspberrypi/rpi-imager/releases/tag/v1.7说高级设置选项仅在 RPi Imager 检测到图像“可配置”时才有效?

我试图使用 Raspbian 32 位。

@jssalter您应该能够通过简单地从此处获取 1.6.exe 来降级您的 Windows 版本——我希望这对您有所帮助。

谢谢

恐怕我需要重新审视这个问题,因为高级选项菜单的外观和设置实际上并不是在编写firstrun.sh脚本。
请参阅下面尝试设置这些东西的输出,注意空的Custom cmdline.txt entries: "" ,我相信这是将 Pi 引导到firstrun.sh脚本的原因。

patrick @ bridnetpidemo ➜  ~  rpi-imager
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
qrc:/main.qml:304:21: QML Rectangle: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
QObject::setParent: Cannot set parent, new parent is in a different thread
Custom config.txt entries: ""
Custom cmdline.txt entries: ""
Custom firstuse.sh: "#!/bin/bash\n\nset +e\n\nFIRSTUSER=`getent passwd 1000 | cut -d: -f1`\nFIRSTUSERHOME=`getent passwd 1000 | cut -d: -f6`\nif [ -f /usr/lib/userconf-pi/userconf ]; then\n   /usr/lib/userconf-pi/userconf 'pi' '$5$mXq2ewJlEK$2tGL.tc/O6iSkZgjer03Dw5wsvRSuwoARXGSvG24nL2'\nelse\n   echo \"$FIRSTUSER:\"'$5$mXq2ewJlEK$2tGL.tc/O6iSkZgjer03Dw5wsvRSuwoARXGSvG24nL2' | chpasswd -e\n   if [ \"$FIRSTUSER\" != \"pi\" ]; then\n      usermod -l \"pi\" \"$FIRSTUSER\"\n      usermod -m -d \"/home/pi\" \"pi\"\n      groupmod -n \"pi\" \"$FIRSTUSER\"\n      if grep -q \"^autologin-user=\" /etc/lightdm/lightdm.conf ; then\n         sed /etc/lightdm/lightdm.conf -i -e \"s/^autologin-user=.*/autologin-user=pi/\"\n      fi\n      if [ -f /etc/systemd/system/[email protected]/autologin.conf ]; then\n         sed /etc/systemd/system/[email protected]/autologin.conf -i -e \"s/$FIRSTUSER/pi/\"\n      fi\n      if [ -f /etc/sudoers.d/010_pi-nopasswd ]; then\n         sed -i \"s/^$FIRSTUSER /pi /\" /etc/sudoers.d/010_pi-nopasswd\n      fi\n   fi\nfi\nsystemctl enable ssh\ncat >/etc/wpa_supplicant/wpa_supplicant.conf <<'WPAEOF'\ncountry=US\nctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev\nap_scan=1\n\nupdate_config=1\nnetwork={\n\tssid=\"Fast Magnolia\"\n\tpsk=cfd0a675ba04482b7ef5e03c6556885a6bd3b477bd72de685ec07a93d6e4848f\n}\n\nWPAEOF\nchmod 600 /etc/wpa_supplicant/wpa_supplicant.conf\nrfkill unblock wifi\nfor filename in /var/lib/systemd/rfkill/*:wlan ; do\n  echo 0 > $filename\ndone\nrm -f /etc/xdg/autostart/piwiz.desktop\nrm -f /etc/localtime\necho \"America/New_York\" >/etc/timezone\ndpkg-reconfigure -f noninteractive tzdata\ncat >/etc/default/keyboard <<'KBEOF'\nXKBMODEL=\"pc105\"\nXKBLAYOUT=\"us\"\nXKBVARIANT=\"\"\nXKBOPTIONS=\"\"\n\nKBEOF\ndpkg-reconfigure -f noninteractive keyboard-configuration\nrm -f /boot/firstrun.sh\nsed -i 's| systemd.run.*||g' /boot/cmdline.txt\nexit 0\n"
Cloudinit: "users:\n- name: pi\n  groups: users,adm,dialout,audio,netdev,video,plugdev,cdrom,games,input,gpio,spi,i2c,render,sudo\n  shell: /bin/bash\n  lock_passwd: false\n  passwd: $5$mXq2ewJlEK$2tGL.tc/O6iSkZgjer03Dw5wsvRSuwoARXGSvG24nL2\n\nssh_pwauth: true\n\ntimezone: America/New_York\nruncmd:\n- sed -i 's/^s*REGDOMAIN=S*/REGDOMAIN=US/' /etc/default/crda || true\n- rm -f /etc/xdg/autostart/piwiz.desktop\n- localectl set-x11-keymap \"us\" pc105\n- setupcon -k --force || true\n\n\n"

在尝试使用这些自定义编写后,我已经安装了图像,并确认/boot中没有firstrun.sh脚本。

再次感谢您对此的关注,
帕特里克

恐怕我需要重新审视这个问题,因为高级选项菜单的外观和设置实际上并没有写
firstrun.sh 脚本。

使用什么Linux发行版?
请注意,发行版现在必须宣传它们是否支持 systemd (firstrun.sh) 或 cloud-init 自定义,以使事情正常工作。

请查看下面尝试设置这些内容的输出,注意空的 Custom cmdline.txt 条目:“”

如有必要,修改 cmdline.txt 的代码现在位于不同的位置。
在打印的阶段,它还不知道应该应用什么定制方法

正如我打开问题时提到的那样,我使用的是 Debian Bullseye x86_64

我试图写的发行版是在这里找到的 RaspiOS Lite ARM64

然后,我假设 64 位版本的 RaspiOS 不会接受运行firstrun.sh脚本的能力,我承认这似乎是错误的。 我将继续使用 1.6.2,因为该版本_确实_写入了 RaspiOS Lite ARM64。

我试图写的发行版是在这里找到的 RaspiOS Lite ARM64

那个肯定有效。
如果您带上自己的图像(“使用自定义”),如果 FAT 分区上有 issue.txt 并且它包含“pi-gen”,它会应用 firstrun.sh 自定义,并且那个就是这种情况。

您是在写入后立即检查 firstrun.sh,还是先启动 SD 卡?
与第一次启动一样,Pi 在使用它后会删除 firstrun.sh。

如果您使用自己的图像,并且它没有生成 firstrun.sh,则应该有一个用户数据文件。 是这样吗?

我在写完之后检查了 $ /boot firstrun.sh (它不存在)。 issue.txt文件确实包含以下内容:

Raspberry Pi reference 2022-01-28
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, fbe448ccdc995d295d24c7596e5f0ef62cc2488f, stage2

如果您使用自己的图像,并且它没有生成 firstrun.sh,则应该有一个用户数据文件。 是这样吗?

user-data也不存在。
我不确定还要寻找什么。

screenshot-rpios64lite

恐怕我无法重现您的问题。
修改 cmdline.txt 并添加 firstrun.sh 和在 Kubuntu 下运行的 Imager 1.7.1 和该图像。

非常感谢您的工作——我这边一定有问题。 我感谢您的帮助

此页面是否有帮助?
0 / 5 - 0 等级