以前のIBM 9111-285のネットワークから起動できませんか?

以前のIBM 9111-285のネットワークから起動できませんか?

私はAix 7.2が最も古いppc CPU(power5!)から起動しないことを考慮して、AIX 7.1がインストールされている古いIBM 9111-285を持っており、Aix 7.1はLinuxをインストールしようとしているのでEOLに近いです。実は私にはそんな「解決策」があります。

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を起動しましたが、ルートイメージをマウントできなかったため、カーネルパニックが発生しました。それはおそらく私のワークステーションにIDE DVDとたくさんの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

答え1

見つかった回避策:カーネルパニックのため、最新のppc64ディストリビューション(opensuse tumbleweed、Debian sid)を使用する9111-285では、ネットワークまたはCDから起動できません。カスタムカーネルを使用してppc64のDebian sid(13)ポートをインストールするために使用できるいくつかのトリックがあります。

これが私がインストールした方法です(いくつかのヒントが必要です:fsを作成する方法、chrootを作成する方法、qemuを知ること...)。

[U]もちろん、破損が発生しても私は責任を負いません。リスクはあなたの責任です[/ U]

a)DVDやネットワークから直接インストールすることは役に立ちません。カーネルパニックを直接入力してください。

b)最初にシステムをインストールし(qemu-ppc-64仮想マシンにシステムをインストールしてから、システムが動作していることを確認するために開始しました。)、正しく機能しました。

c)これで、問題の9111-285 IBMワークステーション用のカスタムカーネルを作成する必要があるため、X86コンピュータから仮想マシン+ USB空のディスクを起動しました。

#!/bin/bash

CDROM=/dev/sr0
DISCO=linux.qcow2
RAM=4096
BOOT=d

qemu-system-ppc64 -m $RAM \
-boot $BOOT \
-drive file=$DISCO,if=none,id=drive-virtio-disk0 \
-device virtio-scsi-pci,id=scsi \
-device scsi-hd,drive=drive-virtio-disk0 -drive file=/dev/sdd,if=virtio \
-netdev tap,id=n1,ifname=tap1,script=no,downscript=no -device virtio-net,netdev=n1 -smp 4 -cdrom $CDROM -accel tcg -nographic

d)システムが起動した後、空のディスクにカスタムカーネルを含む新しいシステムを作成したいので、ディスクをこのように分割します(システムはこれを/ dev / vdaとして認識します)。

fdisk -l /dev/vda
Device     Boot Start       End   Sectors   Size Id Type
/dev/vda1  *     2048     16383     14336     7M 41 PPC PReP Boot
/dev/vda2       16384 558817279 558800896 266,5G 8e Linux LVM

sfdisk -d /dev/vda
label: dos
label-id: 0xc9c164f5
device: /dev/vda
unit: sectors
sector-size: 512

/dev/vda1 : start=        2048, size=       14336, type=41, bootable
/dev/vda2 : start=       16384, size=   558800896, type=8e

e) vda2 パーティションを任意の方法でフォーマットできます。個人的にはlvm + ext4を使用してください。これは安全でテストされており、別々のブートパーティションが必要ないためです。 /mnt に lvm ルートをマウントします。

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サイト)。

adduser
apt
apt-transport-https
apt-utils
base-files
base-passwd
bash
bash-completion
bsdmainutils
bsdutils
ca-certificates
coreutils
cpio
cron
dash
debconf
debconf-i18n
debian-archive-keyring
debian-ports-archive-keyring
debianutils
diffutils
dmidecode
dmsetup
dpkg
e2fslibs
e2fsprogs
findutils
gcc-6-base
gnupg
gnupg-agent
gpgv
grep
gzip
hostname
ifupdown
init
init-system-helpers
iproute2
iptables
iputils-ping
isc-dhcp-client
isc-dhcp-common
kmod
libacl1
libapparmor1
libapt-inst2.0
libapt-pkg
libapt-pkg6.0
libassuan0
libattr1
libaudit-common
libaudit1
libblkid1
libbsd0
libbz2-1.0
libc-bin
libc6
libcap-ng0
libcap2
libcomerr2
libcrypt1
libcryptsetup4
libcurl3-gnutls
libdb5.3
libdebconfclient0
libdevmapper1.02.1
libdns-export162
libelf1
libestr0
libfastjson4
libfdisk1
libffi6
libgcc-s1
libgcc1
libgcrypt20
libgdbm3
libgmp10
libgnutls30
libgpg-error0
libgssapi-krb5-2
libhogweed4
libhogweed6
libidn11
libidn2-0
libip4tc0
libip6tc0
libiptc0
libisc-export160
libk5crypto3
libkeyutils1
libkmod2
libkrb5-3
libkrb5support0
libksba8
libldap-2.4-2
libldap-common
liblocale-gettext-perl
liblogging-stdlog0
liblognorm5
liblz4-1
liblzma5
libmd0
libmnl0
libmount1
libncurses5
libncursesw5
libnetfilter-conntrack3
libnettle6
libnettle8
libnewt0.52
libnfnetlink0
libnghttp2-14
libnpth0
libp11-kit0
libpam-modules
libpam-modules-bin
libpam-runtime
libpam0g
libpcre2-16-0
libpcre2-8-0
libpcre3
libpipeline1
libpopt0
libprocps6
libpsl5
libreadline7
librtmp1
libsasl2-2
libsasl2-modules-db
libseccomp2
libselinux1
libsemanage-common
libsemanage1
libsepol1
libslang2
libsmartcols1
libsqlite3-0
libss2
libssh2-1
libssl1.0.2
libssl1.1
libstdc++6
libsystemd0
libtasn1-6
libtext-charwidth-perl
libtext-iconv-perl
libtext-wrapi18n-perl
libtinfo5
libtinfo6
libudev1
libunistring0
libunistring5
libustr-1.0-1
libuuid1
libxapian30
libxtables12
libxxhash0
libzstd1
login
logrotate
lsb-base
mawk
mount
multiarch-support
nano
ncurses-base
ncurses-bin
netbase
openssl
passwd
perl-base
pinentry-curses
procps
readline-common
rsyslog
sed
sensible-utils
systemd
systemd-sysv
sysvinit-utils
tar
tasksel
tasksel-data
tzdata
udev
util-linux
vim-common
vim-tiny
wget
whiptail
xxd
zlib1g
zstd

"newroot"/mntに解凍しました。

どうすればいいですか?このようなスクリプトを使用してください

vim script.sh

#!/bin/bash

set -x
ar x $1 && tar -xvf data.tar.?z && rm *z

ダウンロードしたすべての.debファイルに対して実行します。 (私はそのファイルを/mnt/paccghディレクトリに入れました。)

cd /mnt find paccgh/ -type f -name *deb -exec ./script.sh {} \;

chroot /mnt .. を実行すると動作します!

for i in dev proc sys; do mount -o bind -v /$i/ /mnt/$i;done

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を取得できます

° ユーザー設定とルートパスワードの設定

adduser youruser
echo -e 'yourpassword\nyourpassword\n'|passwd root
echo -e 'yourpassword\nyourpassword\n'|passwd youruser

i) 今最も重要なのはカーネルをカスタマイズすることです。私は個人的にこの方法に従い、最新のカーネルをダウンロードしました。その中核kernel.org(現在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 -jnprocbindeb-pkg

カーネルは6〜9時間後に準備されますが、なぜppc64の代わりにpowerpcパッケージを作成するのかわかりません。 force-all を使用してインストールできます。

dpkg -i --force-all /usr/src/linux*deb

l) これで grub パッケージだけが見逃されます。

apt -y install grub-ieee1275

ディスクへのインストール

grub-install /dev/vda1

initramfs アップデート

update-initramfs -cv -k all

グラップアップデート

update-grub2

l) 準備ができました。 chrootをシャットダウンしてマウント解除したら、VMの電源を切ります。

exit umount /mnt/dev/pts umount /mnt/proc umount /mnt/sys shutdown -h now

m) 今最大の問題は... 私たちのディスクはSATAで、9111-285はscsiまたはideディスクを使用しますが、ドッキングステーションを使用してこの問題を解決できます。これ(usb2!)ディスクを挿入し、ワークステーションをSMSメニューから起動し(シリアル接続が必要)livecd(Debian 8)から起動し、ddを使用してSATAディスクの内容をSCSIディスクにコピーし、usb - 起動時にSATA接続ディスク、システムはscsiディスクから起動しますが、USBディスクから読み込みます(scsiから直接起動できますが、grub-consoleでgrubを変更する必要があります)。

n) Linux ログインプロンプトに到達したら、rsync を使用して usb-sata ディスクのすべてのデータを scsi ディスクにコピーします。

このようにrsyncを使用してください

vimファイル.txt /mnt /proc /sys /dev

マウント、rsync..を実行します。

mount /dev/sda2 /mnt
rsync -avAXHhSP --exclude-from=file.txt / /mnt
for i in dev proc sys;do mount -o bind /$i/ /mnt/$i;done
chroot /mnt

initramfsを再生成し、fstabを修復します。

vim /etc/fstab #update uuid's or labels

update-initramfs -cv -k all

grubを再インストールし、最終的にscsiディスクで再起動します。

grub-install /dev/sda1
update-grub2
exit
shutdown -r now

関連情報