我本来有一个固态硬盘USB盒子,里面装了arch,于是就拆下来放到机器里,本来没啥问题,就是我从开源驱动nouveau换到闭源驱动nvidia后,各种问题就来了,xfce不断提示I/O错误,envince没有图标,更新软件经常会有段错误,我以为系统不行,重装后依旧如此。
于是只能放狗搜索,发现问题出在intel的microcode,我按照wiki进行操作,结果依旧,因为最新的ucode是2015.2月份的,那时Skylake还没出。
又是一番折腾,终于在arch论坛找到了临时的解决方法。
就是:
重新编译glibc和lib32-glibc, 将--enable-lock-elision去掉
步骤(我自己的,供参考):
安装abs并运行。会在/var/abs目录生成所有软件包的pkgbuild,将abs/core/glibc和abs/multilib/lib32-glibc 两个目录拷贝到用户目录(就是有操作权限)
修改pkgbuild文件,将--enable-lock-elision这一行删掉,
进入目录,makepkg编译,如果提示签名错误需要导入密钥,运行
代码: 全选
gpg --recv-keys 25EF0A436C2A4AFF
代码: 全选
gpg --list-keys
注意千万不能先删除glibc再安装,否则后果很严重