在 Soekris net4xxx 上引导 Alpine
![]() 此页面引用的设备不符合当前任何受支持的 Alpine 版本的最低系统要求(缺少 CMOV 和 SSE 指令将证明是有问题的!)。 (讨论) |
这是一个关于在 Soekris net4xxx 路由器的 CF 卡上引导最新的(开发)Alpine Linux 的分步指南
我们假设我们的 CF 读卡器在 /dev/sdb,并已加载 512+ MB CF 格式化的卡,并将挂载在 /mnt/flash 上。我们还假设具有 root 权限。
export FLASHDEVICE=/dev/sdb1 export MNT=/mnt/flash
首先,我们下载最新的 usbdrive tarball
wget http://dev.alpinelinux.org/alpine/v1.7/usbdrive/alpine-1.7.5-i386.tar.gz
并将其解压缩到我们的 CF 卡上
mount $FLASHDEVICE $MNT tar xzf ../alpine-1.7.5-i386.tar.gz -C $MNT
下一步是构建自定义 initrd(为了使串行控制台工作)
mkdir /tmp/alpine cd /tmp/alpine zcat $MNT/kernel/generic/hd-ext3.gz > soekris tar xjf $MNT/base.tar.bz2 ./etc/inittab sed -i -e 's/^::respawn.*//' -e 's/^tty.*//' -e 's/^#\(ttyS0.*\) 115200 \(.*\)/\1 19200 \2/' etc/inittab echo etc/inittab | cpio -o -H newc -A -O soekris gzip -c -9 soekris > $MNT/kernel/generic/soekris.gz
和一个自定义的 syslinux.cfg
cat > $MNT/syslinux.cfg <<EOF serial 0 19200 timeout 0 default generic-soekris label generic-soekris kernel /kernel/generic/bzImage append initrd=/kernel/generic/soekris.gz rw alpine_dev=hda1:vfat root_dev=none:tmpfs alpine_base=base.tar.bz2 pkg_dev=hda1:vfat pkg_subdir=/apks cfg_dev=hda1:vfat modloop=/kernel/generic/modloop.cmg console=ttyS0,19200 EOF
最后,我们使 CF 可引导
syslinux $FLASHDEVICE umount alpine