Notes on setting up TS-Linux ver 3.07a on the embeddedx86 CPU. Last revision is 2004/11. Note: All vendor instructions can be found in the Linux Dev Manual These notes just document the step I took to develop the tx1 boots Compact Flash Disk. 1. Setting up x86CPU to work with minicom. We run the com ports using 115200 baud. This requires the JP4 jumper to be ON on the TS-5600. Attach embeddedx86 to com1 on the linux PC. To set the permissions for minicom ttys Become root: # chmod 666 /dev/ttyS0 # minicom -s serial port setup -> Serial Device:/dev/ttyS0 Bps/Par/Bits: 115200 8N1 To run minicom: >minicom This connects you to the embeddedPC's console. Run minicom in the ANSI mode for terminal emulation. This prevents The system prompt etc from printing as garbage: In the minicom window, press cntl-A then T In the terminal setup window press A at the prompt until ANSI is selected, then press return at the prompt to exit the setup 2. Configure a linux compact flash boot disk from scratch. a. Download files. Download all files from vendor's web site: http://www.embeddedx86.com/ All files archived to /home/tcs3/public_html/systems/tcs3/vendor_info/Technologic_systems/embeddex86/TS-3.07a_downloads/ TS-base-64.cf.bz2 - 64 MB Compact Flash Image TS-3.07a.tar.gz - TS-Linux 3.07a ext2 file system (09-22-04) TS-FAT-3.07a.tgz - TS-Linux 3.07a FAT file system (09-22-04) kernel-386-2.4.23-2.5.tgz - Pre-compiled 2.4.23 kernel modules-kernel-486-2.4.23-2.5.tgz - pre-compiled kernel modules b. install blanck CF image to the compact flash (/dev/sda) > bunzip2 -k TS-base-64.cf.bz2 # dd if=TS-base-64.cf of=/dev/sda bs=1M c. Mount both partition of the Compact flash to the linux filesystem. # mount -t msdos /dev/sda1 /mnt/cfp1 # mount -t ext2 /dev/sda2 /mnt/cfp2 d. Untar the ext2 file system to the ext2 partition # tar -C /mnt/cfp2 -xvzf TS-3.07a.tar.gz e. Untar the FAT file system to the fat partition # tar xvzf TS-FAT-3.07a.tgz # cd TSLinuxFAT # cp -dp * /mnt/cfp1 f. copy the kernel files to Compact flash 1) copy kernel to FAT partition (/dev/sda1) # tar -xvzf kernel-486-2.4.23-2.5.tgz # cp -dp ./kernel-486-2.4.23-2.5/bzImage /mnt/cfp1 2) copy the module tree to the ext2 partition (/dev/sda2) # tar xvzf modules-kernel-486-2.4.23-2.5.tgz # cp -dpR ./kernel-486-2.4.23-2.5/modules/2.4.23-2.5 /mnt/cfp2/lib/module g. Make sure all files in the ext2 parition is owned by root. # cd /mnt/cfp2 # chown -R root ./* # chgrp -R root ./* h. Unmount partitions. # umount /mnt/cfp1 # umount /mnt/cfp2 3. Configure host a. Place the CF card in the embedded PC and boot it. b. Change root password. Initial login/pass: root/redhat #passwd (password is kraft$) c. Configure Hostname and IP settings Edit files. 1) /etc/sysconfig/ifcfg-eth0 2) /etc/sysconfig/network_cfg Hostname must be capitalized to HOSTNAME 3) /etc/hosts 4) /etc/resolv.conf 5) Change /etc/rc.d/rcS.sysinit Comment out this line to look like: #/bin/hostname miniepc.embeddedx86.com d. add tcs3 account. 1) Edit /etc/passwd file. 2) Change tcs3 password. #passwd tcs3 3) Add home directory #mkdir /home/tcs3 #chown tcs3 /home/tcs3 e. Disable httpd. #mv /etc/init.d/Apache.script /etc/init.d/Apache.script.removed f. Remove guest account from /etc/passwd. g. portmap For rpc need to run portmap (only run as port of nfs server). create a script in /etc/init.d called portmap.script (see /home/tcs3/public_html/systems/tcs3/computers/embeddedx86/misc) chmod 755 portmap.script create links for the starting and stopping of the script in rc3.d & rc5.d respectively. h. mount duke 1) Change /etc/fstab. Add this line to allow mount of /home/tcs3: irtfnas1:/aux1/home/projects/tcs3 /home/tcs3 nfs noauto,soft,nolock 0 0 Note: the nolock parameter seems to be necessary 2) Edit /etc/hosts Add line: 128.171.165.3 duke 3) Create mounting point & mount home #mkdir /home/tcs3 #mount /home/tcs3 i. localtime & syncing the clock. 1. To get the correct timezone: Copied /usr/shared/zoneinfo/US/Hawaii from slackware 8.1 to embeddedOS linked /etc/localtime to ../usr/share/zoneinfo/US/Hawaii 2. We don't have a real-time hardware clock. We couldn't get any ntp client to work well so we wrote our own timeserver program to do the ntpclient funcition. Installed in /usr/local/bin and started at boot time using timerserver.script. Follow the same procedure as for adding the portmap.script. (see /home/tcs3/public_html/systems/tcs3/src/tcs3/embeddedx86//timeserver) j. Make Disk Read-Only To make the disk read-only follow these few steps, also you can refer to pg. 9 & 10 in the Technologic Systems manual (February 2004). 1. Remove /etc/mtab, and make a symbolic link to /proc/mounts rm /etc/mtab ln -s /proc/mounts /etc/mtab 2. Edit /etc/rc.d/rcS.sysinit file to remount/ (root) partition read-write Change (about line 50): mount -n -o remount, rw / by making it a comment: #mount -n -o remount, rw / 3. Add these ramdisk partitions to etc/fstab tmp_log /var/log tmpfs size=512K 0 0 tmp_var /var/run tmpfs size=100K 0 0 4. Development Notes: 1. The / filesystem is read-only, however, after logging in you can issue this command to remount as rw: # mount -n -o remount,rw / 2. For a development system I used slackware 8.1 which provides: kernel: 2.4.18, gcc: 2.95.3, glibc: 2.2.5 This closely match the TS-Linux's 3.05 (based on Linux From Scratch v3.1) kernel: 2.4.23, gcc: 2.95, glibc: 2.2.5 One of t9h partition is setup as the embedddedx86 development host. 5. Bugs with OS: 1. Hostname in /etc/sysconfig/network_cfg is in lowercase and should be HOSTNAME 2. This file TS-FAT-3.07a.tgz had all the DOS files in a sub-directory Needed to copy TSLinuxFAT/ to /mnt/cfp1 6. Backups /irtf.backup/t3apedec - backup of dec compact flash /irtf.backup/t3apeha - backup of ha compact flash /irtf.backup/tx1 - backup of tx1 compact flash