Open an OS/2 window on the SE (use Desktop on call if you are
working on an HMC), enter mpts
Press configure twice
Write down the adapter number of the adapter with IBM IEEE
802.2 only
Press cancel - cancel - exit
Doubleclick on Emulated I/O Configuration in the CPC
configuration menu (use Desktop on call if you are working on an
HMC)
Press enter and F2 to view the active device
map
Write down the addresses of the 3088 devices (e.g. 20/21 or
22/23)
(If you have to edit the device map, be sure that the device map
number corresponds to the IOCDS number!!)
Press ESC - F10 - F10 to leave without changing anything. -
If you want to save your changes, press ESC - F6 -F10.
Doubleclick on Console Actions and Network Diagnostic
Information
Lookup the above noted adapter number and its associated MAC
address.
Write down this MAC address.
Doubleclick on Input/Output (I/O) Configuration in the
CPC configuration menu.
Open the source of the appropriate IOCDS. (The IOCDS number must
correspond to the device map number!!)
Lookup the line where the UNITADD equals to the smaller address of
the above noted 3088 device.
Write down the CUNUMBR of this line.
Lookup the line starting with IODEVICE and with the CUNUMBR as
noted above. Write down the corresponding ADDRESS. (This is the
address required for the lcs driver.)
after IPL:
when the Network device number is requested: enter the IODEVICE
ADDRESS as noted above.
when the Relative port is requested: enter the adapter number (from
mpts)
verify whether the shown hw_address is the MAC address noted above
In this case the network adapter is properly set up and it
should work correctly.
In the following it is assumed that all archives (*.tar.gz) and
all patches (*.diff) are located in your home directory (~). The
version numbers are exemplary only. You should replace them by the
version number of the packages you are using. Note also that some
of the patches may have an additional versioning position as
compared to the original packages. This was done to distinguish
different patch revisions to be applied to the same original
package version. e.g., binutils-2.9.1.2.diff.tar.gz contains our
third patch revision to be applied to the binutils-2.9.1
package.
unpack all source packages
tar xfz ~/binutils-2.9.1.tar.gz
tar xfz ~/gcc-2.95.2.tar.gz
tar xfz ~/glibc-2.1.2.tar.gz
cd glibc-2.1.2
tar xfz ~/glibc-crypt-2.1.2.tar.gz
tar xfz ~/glibc-linuxthreads-2.1.2.tar.gz
cd ..
tar xfz ~/linux-2.2.14.tar.gz
mv linux linux-2.2.14
mkdir binutils-build
cd binutils-build
../binutils-2.9.1/configure --prefix=/usr/local \
--target=s390-ibm-linux \
--host=i386-pc-linux-gnu
make
su (enter root password)
make install
exit
cd ..
configure, compile and install the C compiler
mkdir gcc-build
cd gcc-build
../gcc-2.95.2/configure --prefix=/usr/local \
--target=s390-ibm-linux \
--host=i386-pc-linux-gnu \
--enable-languages="c" \
--disable-shared \
--disable-threads \
--with-newlib
make (ignore the compile error in libiberty)
su (enter root password)
make install
exit
cd ..
configure the kernel
cd linux-2.2.14
vi Makefile
(set "ARCH := s390" and "CROSS_COMPILE=s390-ibm-linux-")
make menuconfig
cd ..
mkdir glibc-build
cd glibc-build
../glibc-2.1.2/configure --prefix=/usr/local/s390-ibm-linux \
--host=s390-ibm-linux \
--build=i386-pc-linux-gnu \
--enable-add-ons \
--enable-omitfp
make
su (enter root password)
make install
exit
cd ..
configure, compile and install all needed compilers
cd gcc-build
rm -fr *
../gcc-2.95.2/configure --prefix=/usr/local \
--target=s390-ibm-linux \
--host=i386-pc-linux-gnu \
--enable-languages="c,c++" \
--enable-shared \
--enable-threads
make
su (enter root password)
make install
exit
cd ..
LINUX for S/390 runs in either environment, native, in LPAR, and
as a guest under VM/ESA. Running LINUX for S/390 in an LPAR
environment you should follow the following configuration
guidelines :
While OS/390 or VSE/ESA have configuration scripts telling the
OS which devices to regard or disregard, LINUX does not. All it has
is the kernel parameter list or the parameters passed to a driver
with insmod. Unless configured otherwise, LINUX for S/390 will try
to autosense all the devices accessible. While this is usually the
desired behavior when running native or as guest under VM/ESA it
might not be desirable when running in a LPAR environment with
shared CHPIDs. This behavior may lead to sharing problems. This is
not specific to LINUX, but is also the case with misconfigured
OS/390, VM/ESA, and VSE/ESA systems. However, it might become more
quickly visible with LINUX's autosensing mode.
If you have a LPAR environment with shared CHPIDs there are two
possible approaches possible to avoid sharing problems:
Assure the IOCDS only grants access to the devices that don't
need to be physically shared between LINUX and another S/390
operating system. This is the preferred way to go and is not
specific to LINUX in any way. It should be the preferred way in any
production environment.
Make sure to configure the LINUX device drivers to use only
well known devices, e.g. some few OSA ports for network
connectivity, or the DASDs your LINUX filesystems reside on. E.g.,
the kernel parameter line could read:
root=/dev/dasda ro dasd=192-194,200
This gives you access to the DASD devices with device numbers 192,
193, 194 and 200.
Please follow either of the two configuration methods to assure
that LINUX for S/390 cannot disturb a production environment
residing in another LPAR.