centos6-minimal ,一台 2010 年旧笔记本 HP HSTNN-157C 的起死回生
- 作者: 刘杰
- 来源: 技术那些事
- 阅读:204
- 发布: 2025-06-15 10:12
- 最后更新: 2025-07-13 11:30
目录
[toc]
问题起因
一台2010年左右的一台上网本,上网硬件功能完好,出了缺少电池之外,其他一切正常。本着不浪费的精神,给这台小笔记本重新安装 linux server 版,重新加以利用。
上网本定位是主要是简单的上网,浏览网页和简单的办公需求,所以性能不会太高,而且考虑到电池的耗电量,所以这种机器上的硬件性能,一般都不是很高。所以不管怎么利用,不用指望会有特别复杂高端的需求,还是一些简单的任务,比如 linux 环境熟悉、学习,c/c++ 编程学习,这些基本足够用。
目前上网本用的是 xp 的系统,虽然启动不慢,但是安装最新软件做些简单的任务,基本都是非常缓慢。比如浏览器开网页,比如装个微信之类的。由于目前的软件对硬件系统的需求已经很高,而且电脑升级换代的速度这些年的确是太快,所以基本上带界面交互的软件,已经完全不能满足用户的使用需要。当然如果有耐心可以等。。。所以,首先操作系统就要选用不带界面的操作系统,比如 linux 系列,学习个编程什么的,跑点小程序,完全够用。
设备重生过程
准备工作
查看上网本的硬件型号
HP Mini 机型:HP HSTNN-157C 无线网卡:n12075
根据硬件信息,确认最终安装系统版本
由于近几年 Centos 使用较多,所以初步计划安装 Centos linux。
最终确定,需要安装 32 位 linux 系统,
由于硬件过于陈旧,需要确认 linux 哪个版本的硬件需求比较符合这台小上网本。最终确定 安装 Centos-6.1-i386-minimal,ios 镜像 278M。

安装系统
制作系统安装盘
- u盘1个(制作系统启动盘用)
- CentOS-6.1-i386-minimal.iso 系统镜像
- Rufus 启动盘烧录工具
我这里是 18 年前的 u 盘一个,金士顿,大小2G(足够了)。注意:如果u盘内有数据,需要拷贝到其他地方备份,以防格式化造成数据丢失。启动 Rufus,将准备好的镜像烧录到 u 盘内。
烧录完成之后,只是制作好了u盘启动盘(启动一个安装程序,引导用户进行系统安装设置,分区等等),需要将 CentOS-6.1-i386-minimal.iso 镜像文件复制到启动盘的根目录。这个主要是用来进行到最后一步,需要将此镜像文件安装到小上网本的硬盘上。
开始安装机器
设置 bios 的u 盘启动,然后重启电脑。会自动进入 u 盘引导盘。根据实际情况选择安装选项。等待系统安装成功。
安装成功后,如果需要通过编译安装软件,可以尝试安装 gcc 和 g++ CMake,如果版本太低,可以通过更换 yum 源的方式,安装新版本的。
备份 yum 源库文件,将源替换为阿里镜像源:
bash
cd /etc/yum.repos.d/
# 备份基础 repo 源
cp CentOS-Base.repo.bak2 CentOS-Base.repo -f
# 替换为阿里镜像源
sed -i "s/mirrors\.aliyun\.com\/centos-vault/vault\.centos\.org/" /etc/yum.repos.d/CentOS-Base.repo
安装新版本的 gcc 编译工具包:
bash
# 安装 gcc 编译器工具包(可以在旧版系统使用新版工具)
wget https://copr.fedorainfracloud.org/copr/mayeut/devtoolset-8/repo/epel-6/mayeut-devtoolset-8-pepel-6.repo -O /etc/yum.repos.d/devtoolset-8.repo --no-check-certificate
yum install devtoolset-8-gcc devtoolset-8-gcc-c++
yum install glibc glibc-devel glibc-common glibc-headers
# 安装完毕可以查看 gcc 版本
gcc -v
# gcc version 8.3.1 20190311 (Red Hat 8.3.1-3) (GCC)
安装 openssl 库:
bash
yum search openssl
yum install openssl openssl-devel
安装新版本的 CMake 工具:
bash
# 安装新版 CMake
wget https://github.com/Kitware/CMake/releases/download/v3.29.0-rc4/cmake-3.29.0-rc4.tar.gz
./configure
./configure --prefix=/data/soft/cmake-3.29.0
# 安装完毕查看版本
/data/soft/cmake-3.29.0/bin/cmake --version
wifi 无法激活
解决b3固件问题
查看无线网卡型号:
bash
# 列出所有 PCI 设备信息(适用于 PCI/PCIe 无线网卡)
lspci | grep net
01:00.0 Network controller: Broadcom Limited BCM4312 802.11b/g LP-PHY (rev 01)
02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8040 PCI-E Fast Ethernet Controller
# 如果上述无法看到,查看内核模块的方式
lsmod | grep -i wireless
lsmod | grep -i net
我的无线网卡信息:Broadcom Limited BCM4312 802.11b/g LP-PHY (rev 01)
bash
# 命令用于以数字形式显示 PCI 设备的信息,用厂商 ID和设备 ID替代了设备名称的文本描述,精确匹配硬件 ID
lspci -n
00:00.0 0600: 8086:27ac (rev 03)
00:02.0 0300: 8086:27ae (rev 03)
00:02.1 0380: 8086:27a6 (rev 03)
00:1b.0 0403: 8086:27d8 (rev 02)
00:1c.0 0604: 8086:27d0 (rev 02)
00:1c.1 0604: 8086:27d2 (rev 02)
00:1d.0 0c03: 8086:27c8 (rev 02)
00:1d.1 0c03: 8086:27c9 (rev 02)
00:1d.2 0c03: 8086:27ca (rev 02)
00:1d.3 0c03: 8086:27cb (rev 02)
00:1d.7 0c03: 8086:27cc (rev 02)
00:1e.0 0604: 8086:2448 (rev e2)
00:1f.0 0601: 8086:27b9 (rev 02)
00:1f.1 0101: 8086:27df (rev 02)
00:1f.3 0c05: 8086:27da (rev 02)
01:00.0 0280: 14e4:4315 (rev 01)
02:00.0 0200: 11ab:4354
查看启动日志,发现如下问题:
bash
Jan 1 10:43:53 localhost kernel: b43 ssb0:0: firmware: requesting b43/ucode15.fw
Jan 1 10:43:53 localhost kernel: b43 ssb0:0: firmware: requesting b43-open/ucode15.fw
Jan 1 10:43:53 localhost firmware.sh[1822]: Cannot find firmware file 'b43/ucode15.fw'
Jan 1 10:43:53 localhost kernel: b43-phy0 ERROR: Firmware file "b43/ucode15.fw" not found
Jan 1 10:43:53 localhost kernel: b43-phy0 ERROR: Firmware file "b43-open/ucode15.fw" not found
Jan 1 10:43:53 localhost firmware.sh[1828]: Cannot find firmware file 'b43-open/ucode15.fw'
Jan 1 10:43:53 localhost kernel: b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.
可以查看是否 yum 源有支持的内核固件:
bash
sudo yum search b43
b43-fwcutter.i686 : Firmware extraction tool for Broadcom wireless driver
b43-openfwwf.noarch : Open firmware for some Broadcom 43xx series WLAN chips
b43-tools.i686 : Tools for the Broadcom 43xx series WLAN chip
compat-db43.i686 : The Berkeley DB database 4.3.29 compatibility library
# 如果有 b43-firmware 安装这个,如果没有如上,有b43-openfwwf (b43系列开源固件支持)
# sudo yum install b43-firmware
sudo yum install b43-openfwwf
如果仍然不行,可以考虑,从官网下载支持驱动(可以搜索显卡型号,找到适合的下载):
https://www.broadcom.com/site-search?q=BCM4312
编译内核固件过程,暂不提供。请参考其他。操作前,注意备份!!!
尝试手动联网
shell
#!/bin/sh
# Find wpa dameon process.
WPA_SUPP=`ps -ef | grep wpa_supplicant | grep -v grep`
if [ -z "${WPA_SUPP}" ]; then
# enable network and connect to net.
/usr/sbin/wpa_supplicant -Dwext -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
# /usr/sbin/wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
else
echo "wpa process has exists."
echo ${WPA_SUPP}
fi
echo "Connect to net work... wait for dhcp get client ip."
# Find the dhclient process.
DHCP=`ps -ef | grep "dhclient wlan0" | grep -v grep`
# if dhclient procees is not exists. exec `dhclient wlan0`
if [ -z "${DHCP}" ]; then
# ipv4 get client ip.
dhclient wlan0
else
echo "dhclient wlan0 has exists."
fi
ifconfig wlan0 | sed -n -e "/inet addr/s/\s\+//p"
echo "net has been connected."
配置自动连接 wifi
-
mpa_supplicant
在 /etc/wpa_mpa_supplicant 目录编辑
mpa_supplicant.conf配置文件。如果你想使用明文密码,就把它放在 psk 字段的引号内。要是想用 PSK 哈希值,就得先用 wpa_passphrase 工具来计算。两者取其一即可。
shell
network={
ssid="liujie_2.4" # 这里写你的 wifi 的名称
# psk="这里是明文密码"
psk=xxxxxxxxxxxxxxxx # 如果考虑密码安全,考虑使用预先计算的PSK哈希值
key_mgmt=WPA-PSK # 可选
priority=1 # 可选
}
- 将
你的明文密码替换为你的 WiFi 密码 - 可以根据需要添加多个
network块配置不同 WiFi -
priority值越大表示连接优先级越高 - 如果是开放网络,可以添加
key_mgmt=NONE
设置自动启动
CentOS6 里面还没有 systemctl 命令,需要使用 chkconfig 来配置自动启动。
bash
# 使用下面的命令将wpa_supplicant服务添加到chkconfig的管理列表中
chkconfig --add wpa_supplicant
# 执行此命令,让wpa_supplicant服务在系统启动时自动运行:
chkconfig wpa_supplicant on
# 查看配置结果
chkconfig --list wpa_supplicant
# 结果如下:
wpa_supplicant 0:off 1:off 2:off 3:on 4:off 5:on 6:off
此时配置完成,可以尝试重启系统确认是否可以自动联网。