Page navigation
How to - How to reaccess a DASD in accepted state
#cat /proc/dasd/devices
If you see "accepted" in the output the corresponding DASD is disabled and not available for use. You can re-enable the DASD with the command:
#echo 'set <devno [-devno]> on '>/proc/dasd/devices
where <devno> is the device number of the DASD you want to enable. Example:
#cat /proc/dasd/devices
0700(ECKD)at (94:0)is dasda:active at blocksize:4096,601020 blocks,2347MB
0800(ECKD)at (94:4)is dasdb:active at blocksize:4096,601020 blocks,2347MB
0900(ECKD)at (94:8)is dasdc:accepted
Disk 900 is in the accepted state and cannot be formatted with the dasdfmt command.
#echo 'set 900 on'>/proc/dasd/devices
enables the disk and changes its state to "active, not formatted".
#cat /proc/dasd/devices
0700(ECKD)at (94:0)is dasda:active at blocksize:4096,601020 blocks,2347MB
0800(ECKD)at (94:4)is dasdb:active at blocksize:4096,601020 blocks,2347MB
0900(ECKD)at (94:8)is dasdc:active n/f
#
You now will be able to format the DASD.
How to - How to solve install problems related to the network adapter on a MP3000?
- 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 aboveIn this case the network adapter is properly set up and it should work correctly.
How to - How to set up a cross build environment?
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 - apply the patches
patch -sp0 < ~/binutils-2.9.1.1-s390.diff patch -sp0 < ~/gcc-2.95.2-s390.diff patch -sp0 < ~/glibc-2.1.2.1-s390.diff patch -sp0 < ~/glibc-linuxthreads-2.1.2.1-s390.diff patch -sp0 < ~/linux-2.2.14-s390.diff - configure, compile and install the binutils
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 .. - copy kernel header files
su (enter root password) cp -ar linux-2.2.14/include/linux /usr/local/ s390-ibm-linux/include/linux cp -ar linux-2.2.14/include/asm-s390 /usr/local/ s390-ibm-linux/include/asm exit - configure, compile and install the glibc
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 ..
How to - How to avoid problems running in LPAR mode?
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,200This 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.