Manjaro启动慢的问题一直没有解决

因为发生在系统升级后,最好确定一下上次升级发生了什么

下来检查当前的内核和驱动版本

mhwd -l
mhwd -li
mhwd-kernel -li

ChatGPT介绍说:

这三个命令都与 Manjaro Linux 发行版中的硬件和内核管理有关。

  1. mhwd -l: 这个命令用于列出可用的硬件驱动程序。“mhwd“ 是 Manjaro Hardware Detection 的缩写,它是用于自动检测、安装和配置硬件驱动程序的工具。通过运行 mhwd -l,你可以看到系统支持的各种硬件设备(如显卡、声卡等)的驱动程序列表。
  2. mhwd -li: 这个命令用于列出当前安装的硬件驱动程序信息。通过运行 mhwd -li,你可以获取有关已安装硬件驱动程序的详细信息,包括驱动名称、版本、设备等。
  3. mhwd-kernel -li: 这个命令用于列出已安装内核的信息。Manjaro Linux 支持多个内核版本,你可以在启动时选择使用哪个内核。通过运行 mhwd-kernel -li,你可以查看当前系统中已安装的内核列表以及每个内核的详细信息。

这些命令对于管理硬件驱动程序和内核版本在Manjaro系统上非常有用,可以帮助你了解系统中的硬件配置以及当前的驱动程序和内核状态。

但是目前不能启动,系统卡在了无线网卡获取ipv6这里。

1 从USB启动

版本是Manjaro 6.1.30-1-MANJARO

2. mount 硬盘
(参考 https://forum.manjaro.org/t/howto-chroot-from-or-into-any-linux-distribution/34071 )

打开终端 切换到root (su)
创建临时的 /chroot (mkdir /chroot )
然后mount /dev/sda2 /chroot 
然后mount其他

mount --bind /proc /chroot/proc
mount --bind /dev /chroot/dev
mount --bind /sys /chroot/sys

chroot /chroot



考虑到卡在无线网卡哪里,打算先关掉无线网卡的模组。
引导系统的是linux61,另外mhwd-kernel -li 显示还有linux64.
(告诉你如何在grub启动的时候,显示输出 https://forum.manjaro.org/t/really-really-slow-boot-time/118130/4)

我的无线网卡是,当初安装是费了周折的(教程)
Broadcom BCM4322 802.11a/b/g/n Wireless LAN


有人指出原因是没有swap分区。添加了swap文件后(教程 添加swap文件代替分区),还是无效。

决定重装系统

1. 安装linux6.1
2. 第一次启动后,关闭grub的 quiet splash 重新生成配置
3 重启 应该可以看到文字界面,不再出现启动画面
4 uname -a 当前内核
Linux mbp51 6.1.30-1-MANJARO May 24 22:51:44 UTC 2023 x86_64 GNU/Linux

5 升级系统 sudo pacman -Syyu
6 第一次启动失败 系统卡在登录画面没有反映。 看到有短暂的fireware错误提示
7 强行重启 正常 登录后 uname -a 查看版本 
  Linux mbp51 6.1.44-MANJARO #1 SMP PREEMPT_DYNAMIC Wed Aug 9 09:02:26 UTC 2023 x86_64 GNU/Linux

8 系统提示有新内核 。先查看当前内核 mhwd-kernel -li
返回  6.1.44-MANJARO(linux61) . 升级内核教程
使用GUI打开内核管理,选择6.4.9-1 
安装完后,没有其他提示。手动重启系统。
再用uname -a显示系统是
Linux mbp51 6.4.9-1-MANJARO #1 SMP PREEMPT_DYNAMIC Web Aug 9 08:32:12 UTC 2023 x86_64 GNU/Linux

看来内核升级好了

9 如果要安装无线网卡,还需内核的头文件(安装内核的头文件 教程)
sudo pacman -Sy linux-headers

我选择 6.4 完成

10. 选重启。系统退出,但是最后显示卡在了 Rebooting. 
11. 强行按电源5秒 重启 但是系统卡在了某个地方 和我上次差不多。看来还是内核的问题。
12. 再次强按电源重启 能计入图形登录界面了 登录日志如下: http://ix.io/4Dm8 
13. 测试重启。 还是卡在Rebooting.那。这个故障和这个描述很类似。某个firmware升级后发生的。再结合我上面的log,我发现有关于B43的firmware错误提示。我觉得是无法找到网卡的驱动
 


Aug 13 17:31:25 mbp51 kernel: b43-phy0: Found PHY: Analog 8, Type 4 (N), Revision 4 Aug 13 17:31:25 mbp51 kernel: b43-phy0: Found Radio: Manuf 0x17F, ID 0x2056, Revision 3, Version 0 Aug 13 17:31:25 mbp51 kernel: b43 ssb0:0: Direct firmware load for b43/ucode16_mimo.fw failed with error -2 Aug 13 17:31:25 mbp51 kernel: b43 ssb0:0: Direct firmware load for b43/ucode16_mimo.fw failed with error -2 Aug 13 17:31:25 mbp51 kernel: b43 ssb0:0: Direct firmware load for b43-open/ucode16_mimo.fw failed with error -2 Aug 13 17:31:25 mbp51 kernel: b43 ssb0:0: Direct firmware load for b43-open/ucode16_mimo.fw failed with error -2 Aug 13 17:31:25 mbp51 kernel: b43-phy0 ERROR: Firmware file „b43/ucode16_mimo.fw“ not found Aug 13 17:31:25 mbp51 kernel: b43-phy0 ERROR: Firmware file „b43-open/ucode16_mimo.fw“ not found Aug 13 17:31:25 mbp51 kernel: b43-phy0 ERROR: You must go to https://wireless.wiki.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.

14 再次强行重启。可以进入。开始安装驱动 (教程

sudo pacman -Sy broadcom-wl-dkms

显示安装完成 b43 等等。输入sudo reboot,最后还是卡在rebooting那里。

15. 强行重启动,卡在了 usb 4-1.3那里. 按下重启,画面又刷新了一次。这次停在systemd-shutdown 20秒钟后 然后停在shutdown[1]: Power Off

重复了几次都是一样。看来就是6.4的内核和网卡驱动无法兼容。尝试退回到6.1内核。

类似问题,这个人同样有网卡bs4322驱动不了的问题

决定再重来

安装后的log: http://ix.io/4Dne

里面有提示

b43/ucode16_mimo.fw

b43-open/ucode16_mimo.fw

这2个firmware没找到,并给了链接。根据命令 lspci -nn -d 14e4: 查到我的网卡的PCI id是

14e4:432b

PCI-IDSupported?Chip IDModesPHY versionAlternative
14e4:432bpartiallyBCM4322a/b/g/nN (r4)wl
表示部分支持

1 按装6.1的头文件,伴随一次升级:
sudo pacman -Sy linux-headers

本次升级后log http://ix.io/4Dno

sudo pacman -Sy broadcom-wl-dkms

这次安装显示 dkms install –no-depmod broadcom-wl/6.30.223.271 -k 6.1.44-1-MANJARO depmod 6.1.44-1-MANJARO

重启

安装成功 log 已经没有Broadcom 43xx driver loaded错误提示。

总结

似乎只要1安装头文件 ,2装broadcom-wl驱动即可。

第一次启动测试

拔掉有线网卡和usb引导 成功

第二次启动测试

ix.io 打印日志并上传共享

今天在修manjaro的时候学了一招,打印日志并上传到网站,和别人共享,一起诊断。

需要依靠网站http://ix.io

用法

sudo journalctl -b -l | curl -F 'f:1=<-' ix.io

成功以后,你就可以获得一个短网址,里面是你刚才上传的输出内容。非常方便。

比如我的启动信息 http://ix.io/4De7

关机log可以这样获取

sudo journalctl --boot -1 --no-pager

在mbp5.1上装上了manjaro

本来装的是arch linux。上一次升级后就死了。其实是有救的。但是我装了几次有后都是载在了显卡驱动的坑上,就不想了。
后来尝试了一下,竟然一次安装成功,而且自带显卡驱动。这就很好了。
所以我就换到了manjaro上。

可是按转完毕后,第一升级,然后重启,画面就锁定在了3个点的启动动画上,死循环了。

后来研究了一下,了解了如何用安装u盘驱动,然后chroot到本地硬盘,修改grub?的启动命令里的配置 去掉了 quite和另外一个选项。保存后从新生成配置,重启。竟然问题就解除了。

然后还尝试了升级内核,从自带的6.4x生叫6.5x。让人欣喜。

一个了困扰了我两天的问题原来仅仅是注释风格

在研究一个API Platform的关系映射的时候,发现多对一不可用,一对多可用。在研究2天,询问了chatGPT后,突然发现一个只使用新PHP8注释风格,不工作。一个是混合2种的。

混合的多对一风格的,能运行

    /**
     * @var \Product
     *
     * @ORM\ManyToOne(targetEntity="Product")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="product_id", referencedColumnName="id")
     * })
     */
    #[Groups(['productImage:read'])]
    #[ORM\ManyToOne(targetEntity: Product::class, inversedBy: 'productImages')]
    #[ORM\JoinColumn(name: 'product_id', referencedColumnName: 'id')]
    public ?Product $product;


只有PHP8注释的,不行

    #[Groups(['product:read'])]
    #[ORM\OneToMany(mappedBy: 'product', targetEntity: ProductImage::class, cascade: ['persist'])]

后来改为混写的就可以了。

   /**
     * @var Collection
     *
     * @ORM\OneToMany(targetEntity="ProductImage", mappedBy="product")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="id", referencedColumnName="product_id")
     * })
     */
    #[Groups(['product:read'])]
    #[ORM\OneToMany(mappedBy: 'product', targetEntity: ProductImage::class, cascade: ['persist'])]

记录一个已经快要失传的doctrine的脚本,从数据表生成实体

php bin/console doctrine:mapping:import "App\Entity" annotation --path=src/Entity

另外在使用的时候,doctrine老说 Malformed database connection URL 错误。 是数据库配置问题。后来查了一下这里,说是DATABASE_URL中的特殊符号,比如我的密码中的#导致解析失败。更改密码,去除特殊符号就ok了。

今天参加了一个关于沟通技巧的座谈会

不得不说,这个座谈会超过了我的预期。本来这个三阶的课程是给领导准备,不知道为啥我们也被报名参加了。

主题是如何主持一个和员工会议。员工会议是指和员工一对一的私聊会议。亮点是请来了一个专业的演员,按照给定脚本,来扮演不同的有问题的员工。我第一次扮演领导,就把气得员工搞辞职了。

然后小组内互相扮演角色。也是困难重重。至少通过这个会议了解了领导们的面临的挑战和问题。挺有意思的一次会议。

德国组织这类讲座都挺专业的。

MacPro eraly 2008主板上2个未公布的SATA接口(SATA 5, 6)

今天发现SATA设备里有6个Inthel ESB2 AHCI 接口,但是只用了4个连接硬盘。那么顺下2个接口在哪呢?能用吗?我搜了一下,找到点线索。

在这个06年的帖子里提到,主板上有2个未公开的SATA还附有照片

看来是可用的。

这个帖子里还有个牛人声称能塞入12个HDD。4个标准+8个HDD取代2个5寸光驱的位置。还附有图片。这个太牛了。

我看来不用买NAS了。

如何找到主板上的这2个SATA。油管上有教程:

简短的视频

稍长的视频

wget保存文件时候去掉url参数

没想到很多人问

https://stackoverflow.com/questions/21358197/how-to-make-wget-to-save-with-proper-file-name/24549874#24549874

问题简单说就是按照http回应里面的文件名来保存。
方案就是在home目录新建一个.wgetrc文件。内容是 content-disposition = on

这样wget保存文件就没url的参数了