我有一台带有 AIX 7.1 的旧 IBM 9111-285 考虑到 Aix 7.2 无法在最旧的 ppc cpu 上启动(这是 power5!),并且 Aix 7.1 已接近 EOL,因为我知道我想在其上安装 Linux。其实我有那些“解决方案”
Linux Debian 11: WORKS ONLY ON PPC64LE, this is BE
Adelie Linux: DON'T BOOT
Linux Debian 12 (is a port for ppc64): boot but..kernel panic.
Centos 6 ppc64: is EOL
Centos 7 ppc64: kernel panic
Gentoo ppc64: Boot and hang after 1 minute with no error, probably a panic.
Opensuse Tumbleweed 发行版有 ppc64 和 ppc64le 的 dvd iso 映像,我启动 cd 并..内核恐慌,因为无法挂载 root 映像,我想可能是因为我的工作站有 IDE DVD,而很多 Linux 发行版现在不支持旧的 ide使用默认内核所以我尝试网络启动,我设置了 dhcp/tftp/bootp 服务器,qemu-system-ppc64 可以启动(转到 openfirmware 提示符,输入 boot net 后,我得到 grub 菜单并开始安装)。使用我的 IBM 工作站,我进入 openfirmware 提示符并...
0 > boot net
BOOTP: chosen-network-type = ethernet,auto,rj45,auto
BOOTP: server IP = 0.0.0.0
BOOTP: requested filename =
BOOTP: client IP = 0.0.0.0
BOOTP: client HW addr = *********
BOOTP: gateway IP = 0.0.0.0
BOOTP: device /pci@800000020000004/pci@2,4/ethernet@1
BOOTP: loc-code U787F.001.DPM5MVH-P1-T5
BOOTP: wait 60 seconds for Spanning Tree ...
BOOTP: BOOTP request fail: 0
BOOTP: BOOTP request fail: 1
BOOTP: BOOTP request fail: 2
BOOTP ERROR: BOOTP request failed, QUIT
!BA010004 !
我尝试指定所有参数并...
0 > boot net:192.168.0.88,core.elf,192.168.0.10,192.168.0.1
BOOTP: chosen-network-type = ethernet,auto,rj45,auto
BOOTP: server IP = 192.168.0.88
BOOTP: requested filename = core.elf
BOOTP: client IP = 192.168.0.10
BOOTP: client HW addr = ****************
BOOTP: gateway IP = 192.168.0.1
BOOTP: device /pci@800000020000004/pci@2,4/ethernet@1
BOOTP: loc-code U787F.001.DPM5MVH-P1-T5
BOOTP: wait 60 seconds for Spanning Tree ...
icmp 5 : redirect
icmp 3 : port unreachable
ERROR: icmp 3
BOOTP: BOOTP request fail: 0
icmp 3 : port unreachable
ERROR: icmp 3
BOOTP: BOOTP request fail: 1
icmp 3 : port unreachable
ERROR: icmp 3
BOOTP: BOOTP request fail: 2
BOOTP ERROR: BOOTP request failed, QUIT
!BA010004 !
有什么解决办法吗?
EDIT1:Ubuntu 16.04 使用此选项可以正常加载(但不要过度选择语言)
boot: install-powerpc64 console=hvc0 console=tty0 console=tty1 console=ttyS0,9600,8,n,1 console=ttyS1,9600,8,n,1
找到的解决方案:在 9111-285 上无法使用最新的 ppc64 发行版(opensuse tumbleweed、Debian sid)从网络或 cd 启动,因为会出现内核恐慌。可以使用一些技巧来安装带有自定义内核的 ppc64 的 Debian sid (13) 端口。
这就是我安装的方式(你需要一些小技巧:如何创建 fs、知道如何创建 chroot、已知 qemu..)
[U]当然,如果发生损坏,我不承担任何责任。自行承担风险[/U]
a)直接从DVD或者网络安装没用,直接进入内核panic
b)我首先安装了系统(在 qemu-ppc-64 虚拟机上,然后启动它以检查是否正常工作..)并正常工作。
c)现在我们必须为有问题的 9111-285 Ibm 工作站创建自定义内核,因此我在 X86 电脑中启动虚拟机 + USB 空磁盘
d)系统启动后,我们想在空磁盘上创建一个带有自定义内核的新系统,因此我们以这种方式对磁盘进行分区(系统将其视为/dev/vda)
e)我们可以按照我们想要的方式格式化vda2分区,我个人使用lvm+ext4,因为安全且经过测试不需要单独的启动分区,我们将lvm root挂载在/mnt
pvcreate /dev/vda2 vgcreate myvg /dev/vda2 lvcreate -n root -L 50G myvg lvcreate -n home -L 50G myvg lvcreate -n swap -L 16G myvg mount /dev/myvg/root /mnt mount /dev/myvg/home /mnt/home
f)我们可以使用debootstrap程序但是..它失败了
g)所以我按照这种奇怪的方式下载了 ppc64 的所有这些东西(忽略丢失的软件包)(站点 debian-packages)
我将其解压到“newroot”/mnt
怎么做?使用这样的脚本
并对下载的所有 .deb 文件执行它(我将它们放在目录 /mnt/paccgh 中)
cd /mnt find paccgh/ -type f -name *deb -exec ./script.sh {} \;
我们执行 chroot /mnt ..并且有效!
现在在 chroot 中转到带有 .deb 扩展名的软件包列表所在的目录,并使用 dpkg 重新安装它
cd /paccgh dpkg -i --force-all *deb
我们现在有了一个伪就绪系统,使用此命令修复损坏的包
apt -f install
或者这次用 dpkg 再次重新安装,无需强制
dpkg -i *deb
当 dpkg -l 返回没有带有不完整或损坏标志的包时,您就准备好了
dpkg -l|grep -v ii
h) 继续执行这些步骤
° 安装主要软件包:apparmor、systemd、login、openssh-server、iputils、cron、at、acl、passwd、fstools(lvm、mdadm、btrfs-progs、ext2utils 等)
apt -y install lvm mdadm ext2utils openssh-server...
° 配置 fstab(不要使用 /dev/vda* 或 /dev/sda 使用 LABEL 或 UUID,或者重新启动时不会启动,因为现在是 vda 的磁盘在真实机器上变成了 sda)
UUID=1234..... swap swap defaults 0 0 UUID=2345..... / ext4 defaults,acl 1 1 UUID=4585..... /home ext4 defaults,acl 1 2
您可以使用 blkid 获取 uuid
° 配置用户并设置 root 密码
i)现在最重要的是,自定义内核,我个人是按照这种方式进行的,我从 kernel.org 下载了最新的lts 内核(此时为 4.14.328),我将其解压在 /usr/src 中,然后创建Debian 软件包使用这种方式
apt -y install build-essential linux-source bc kmod cpio flex libncurses5-dev libelf-dev libssl-dev dwarves bison
cd /usr/src/linux-4.14.328
对于 .config,我从 Debian 8 ppc64 内核(安装在 9111-285 上的最新系统,没有恐慌)复制了旧配置,并且我做了“制作旧配置”,对于新的“答案”,我从 Gentoo 内核复制了从这里和我的 Slackware 内核配置来看,这是最终可供使用的.config 。
这样做之后
nice make -j
nprocbindeb-pkg
6-9小时后内核准备就绪..但我不知道为什么它创建一个powerpc包而不是ppc64,我们可以使用force-all安装它
dpkg -i --force-all /usr/src/linux*deb
l) 现在我们只错过 grub 包
apt -y install grub-ieee1275
install it on disk
grub-install /dev/vda1
update initramfs
update-initramfs -cv -k all
update grub
update-grub2
l)we are ready, exit from chroot, umount it and poweroff the vm
exit umount /mnt/dev/pts umount /mnt/proc umount /mnt/sys shutdown -h now
m)Now the big problem...our disk is SATA, and the 9111-285 use scsi or ide disks we can solve using a docking station like this one (usb2!) insert the disk and boot the workstation to SMS menu (you need a serial connection), boot from livecd (Debian 8) and copy with dd the content of SATA disk to SCSI disk, when you boot leave the usb-sata disk attached, the system boot from scsi disk, but read from usb disk (you can boot direct from scsi but you have to modify grub from grub-console)
n)once arrived to linux login prompt use rsync to copy all data from usb-sata disk to scsi disk
with rsync follow this way
vim file.txt
/mnt /proc /sys /dev
do mount, rsync..
recreate initramfs and fix fstab
reinstall grub and reboot finally with scsi disk