########################################################################### # Document: Installing_without_installer.txt # Purpose : Describe how to install ARMedSlack onto a StrongARM RiscPC # without the aid of the installer # Author..: Stuart Winter # Date....: 30-May-2004 # Version : 1.01 ############################################################################ Warnings -------- I do NOT accept ANY liability for you destroying your data. This information is provided on a best effort basis so that I can get help with testing ARMedSlack's packages. This is a TECHNICAL document only. It assumes that you have prior knowledge of Linux. If you do not feel comfortable formatting disks, taking your RiscPC apart or using Linux in general then please STOP NOW. Prerequisites ------------- [1] Lots of Linux knowledge [2] Knowledge of hard disks, Master/slave [3] Slackware Linux running on an x86 PC. [4] A spare CLEAN IDE hard disk (or a disk where you don't mind formatting over/ losing the data). An 6GB hard disk is more than adequate. [5] You have downloaded the armedslack.tar archive containing the ARMedSlack Linux packages [6] You have downloaded slackb.zip that contains the RISC OS bootware [7] A RISC OS unzip utility - either infozip, SparkFS or similar. Conventions ----------- A line beginning with a # denotes a Unix command that should be typed into the terminal/console logged in as the root user. 0.0 Acquiring the ARMedslack packages --------------------------------- I recommend that you use rsync to keep up to date with the packages. Find a location on your Linux box where you'd like to store the packages: # cd /path/to/armedslackstore # rsync -avvP --delete ftp.armedslack.org::armedslack/armedslack-current/slackware . 1.0 Partitioning the IDE hard disk ------------------------------- Physically install the IDE hard disk that will be your dedicated ARMedSlack Linux disk. On my development x86 PC I have: * Slackware Linux 9.1 installed onto /dev/hda (primary IDE hard disk) * My dedicated ARMedSlack IDE disk as /dev/hdb and is 30Gbytes. 1.1 Use fdisk to create partitions on the disk ------------------------------------------ # fdisk /dev/hdb If there are any existing partitions, delete them. We will create three partitions: /dev/hdb1 is SWAP 300Mbytes. /dev/hdb2 is ext3 5GB of root file system, Linux native format. This file system will contain the Operating System. /dev/hdb3 is ext3 The rest of the drive (used for user data). This file system will contain anything you wish - I'm using it as scratch space. 1.1.1 Create /dev/hdb1 - swap ----------------------- [1] Press n to create a NEW partition: Command (m for help): n [2] Press p to create a PRIMARY partition: e extended p primary partition (1-4) [3] Choose partition number 1: Partition number (1-4): 1 [4] Use DEFAULT values for First Cylinder (PRESS RETURN): First cylinder (1-2491, default 1): Using default value 1 [5] Choose 300Mbytes as the size of the partition (TYPE +300M): Last cylinder or +size or +sizeM or +sizeK (1-2491, default 2491): +300M 1.1.1.1 Mark /dev/hdb1 as a swap partition ---------------------------------- [1] Press t: Command (m for help): t [2] Choose partition number 1: Partition number (1-4): 1 [3] Choose Hex code 82: Hex code (type L to list codes): 82 Changed system type of partition 1 to 82 (Linux swap) 1.1.2 Create /dev/hdb2 - root file system ----------------------------------- Follow the above instructions in section 1.1.1 for more detail. [1] Press n to create a NEW partition [2] Press p to create a PRIMARY partition [3] Choose partition number 2 [4] Choose DEFAULT values for the First Cylinder [5] Choose +5000M as the partition size ('Last cylinder') If you have a 20GB or larger hard disk, you may wish to make this partition +10000M (10Gbytes) or similar. 1.1.2.1 Mark /dev/hdb2 as bootable -------------------------- [1] Press a: Command (m for help): a [2] Choose partition number 2: Partition number (1-4):2 1.1.3 Create /dev/hdb3 - user scratch space file system ------------------------------------------------- Follow the above instructions in section 1.1.1 for more detail. [1] Press n to create a NEW partition [2] Press p to create a PRIMARY partition [3] Choose partition number 3 [4] Choose DEFAULT values for the First Cylinder [5] Press RETURN at the partition size prompt ('Last cylinder') 1.1.4 Write the new partition table to the hard disk ---------------------------------------------- [1] Press w: Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot. Syncing disks. 2.0 Create the file systems ----------------------- We must now create file systems on the new partitions. Create the swap partition: # mkswap /dev/hdb1 Make the root file system ext3: # mke2fs -j /dev/hdb2 Prevent an fsck (the RTC support in the Kernel is currently broken): # tune2fs -i0 /dev/hdb2 Make the data partition's file system ext3: # mke2fs -j /dev/hdb3 3.0 Mounting the new hard disk's root partition ------------------------------------------- It's easier if you don't change the directory name from 'armslack'. We will delete the directory afterwards. # cd /mnt # mkdir armedslack # mount /dev/hdb2 armedslack 4.0 Installing the ARMedSlack packages onto the partition ----------------------------------------------------- I'll assume: [1] That you have downloaded the ARMedslack packages using rsync as described in section 0.0. # cd /path/to/armedslackstore # cd slackware If you are installing for a RiscPC then # ./tinstall.sh riscpc otherwise, for other ARM architectures: # ./tinstall.sh The packages should start installing. 4.1 Making changes to /mnt/armedslack/etc/fstab ------------------------------------------- A basic fstab will have been created for you. However, it may be incorrect because the file is static. For the two partitions we have created, fstab has the following: /dev/hdb1 swap swap defaults 0 0 /dev/hdb2 / ext3 defaults 1 1 If you the new hard disk will be the slave on the RiscPC's onboard IDE controller, the above is correct. However, if you are putting the disk on another 3rd party IDE controller such as a RapIDE then it is possible (see !SlackBt.!Run) that this is incorrect. You may need to change /dev/hdb1 and /dev/hdb2 to /dev/hdd1 and /dev/hdd2. WRITE DOWN the device name of the root file system (e.g. /dev/hdb2) -- you will need it later. 4.2 Configuring the ARMedSlack system --------------------------------- You may wish to configure your system so that you can access it over the network. It's easier to do this when the system is already mounted locally. 4.2.1 Setting the hostname -------------------- By default the hostname is 'darkstar.example.net' The machine I'm installing today is 'zaden.armedslack.org' To change the hostname, echo "zaden.armedslack.org" > /mnt/armedslack/etc/HOSTNAME 4.2.2 Configuring networking ---------------------- The stock Kernel shipped with ARMedSlack contains support for all known RiscPC compatible Ethernet network cards. If you wish to set an IP address for your network card, you should edit /mnt/armedslack/etc/rc.d/rc.inet1.conf The file is fairly self explanatory. You'll also want to configure /mnt/armedslack/etc/resolv.conf The standard format of this file is: search example.net nameserver 192.168.1.1 nameserver 192.168.1.2 cat << EOF > /mnt/armedslack/etc/resolv.conf search armedslack.org polplex.org.uk nameserver 192.168.1.1 EOF Edit /etc/hosts You'll need to change the example.net to your local network domain name and change the nameservers to those that the rest of your network uses. 5.0 Unmounting the ARMedSlack hard disk ----------------------------------- If all is well you can now unmount the root file system and shut down your PC. Unmount the disk: # umount /mnt/armedslack Shutdown your PC: # shutdown -h now 6.0 Installing the hard disk into your RiscPC ----------------------------------------- Physically install the hard disk into your RiscPC so that it is the SLAVE disk. You do NOT need to configure RISC OS to know about the additional disk (either through !Boot, '*configure idediscs' or similar) 7.0 Booting ARMedSlack ------------------ Download the RISC OS bootware: ftp://ftp.armedslack.org/armedslack-current/bootware/riscpc/slackb.zip 7.1 Unzipping slackb.zip -------------------- You either need SparkFS, infozip/unzip or similar. If you have SparkFS: [1] set the file type to '&ddc' or 'archive' through the filer menu, or at the shellcli: *settype slackb/zip &ddc [2] Double click on slackb/zip and copy the 'ARMdSlack' directory from the archive into an appropriate place on your RISC OS file system. I put it in the root of my file system. If you are using infozip's 'unzip' utility, assuming slackb/zip is in the root of your file system on the currently selected RISC OS filing system: [1] *dir $ [2] *unzip slackb/zip 7.2 Booting for the first time -------------------------- Inside the ARMdSlack directory is an application called '!SlackBt' Load '!SlackBt.!Run' into your favourite text editor. Read the comments about Kernel parameters. You may need to change the root= parameter. You wrote this down during section 4.1 ('Making changes to /mnt/armedslack/etc/fstab') of this document. Won't work when first boot - reboot and it will. Real Time Clock broken. If your machine will be able to access the Internet cat << EOF >> /etc/rc.d/rc.local ntpdate gate.demon.co.uk EOF passwd to set root password use timeconfig to set local time zone. mouseconfig (configure gpm)