620 likes | 799 Views
Linux Devices/Appliances. INFT13-312 COOS Michael Broadbridge / Robinder Sihota. Aims. Define Linux Devices/Appliances Show what home user devices/appliances can and are making use of Linux now and in the future How Linux can be implemented in Personal Data Assistants
E N D
Linux Devices/Appliances INFT13-312 COOS Michael Broadbridge / Robinder Sihota
Aims • Define Linux Devices/Appliances • Show what home user devices/appliances can and are making use of Linux now and in the future • How Linux can be implemented in Personal Data Assistants • Implementing your own embedded Linux device • Show how a Linux machine can be used to control home services
Defining Linux Devices/Appliances • Any form of device or appliance that uses an embedded Linux O/S • The device/appliance does not require disk drives to boot or use as storage as it is stored on some type of permanent flash memory
Linux Appliances/Devices for the Home ? • Home Entertainment • PDA’s (Personal Data Assistant) • Home service devices controlled via the Linux base Desktop Computer • Internet Appliances(Home Gateways, routers etc.)
How Linux O/S’s are implemented in these Appliances / Devices • Flash ROMS • DiskOnChip • Utilisation of special purpose processors F U cn rd dis U mst uz Linux
Embedded Operating Systems • Leading processor architectures used in high-end embedded systems: x86, PowerPC, StrongARM, MIPS, SH and SPARC • Cambridge technology firm Amino Communications has developed what it claims is world's smallest ever Linux system, fully contained on a tiny printed circuit board (PCB) measuring just 49mm by 98mm
Embedded Operating Systems • Use of Flash ROM’s to store O/S • Java 2 Platform, Micro Edition (J2ME) support for Linux (allowing the same applications to run on any supported system, so server-side applications can interact with device-based applications regardless of the underlying system platform) ·Double your drive space! Delete Windows!
Controlling Home Services • Smart Home – power, water, network services automatically switched to different suppliers according to best rates • Home Security, Lighting, Air Con, PA • AXIS 2420 Network Camera with Linux O/S
The Future • Wearable Computers • Internet enabled Household appliances ( the fridge that orders your groceries) • Virtual Reality – Implants? Ever notice how fast Windows runs? Neither did I!
Wearable computers These folk at Wearable Computing Project, MIT Media Laboratory are conducting research into computers that you wear using custom versions of Linux. Applications for wearables • Augmented Memory: The Remembrance Agent • Augmented Reality • Desktop applications ported to wearables • Wearable Audio Computing • Collective Intelligence
Personal Data Assistants • Many come shipped with WindowsCE or the manufacturers own O/S • Sharp and Yopy come preshipped with versions of Linux – Yopy offers development kit • iPAQ – Compaq provide kernels, O/S loaders and other resources
HP Jornada 520 on WinCE PalmVx on Palm OS 3.5
from left to right: the Agenda VR3, the Compaq iPAQ, and the G. Mate Yopy.
Procedures to load Linux onto iPAQ • Via Windows or Linux PC • Set up Serial cradle connection • Transfer O/S loader(including bootloader, kernel,X-Windows interface) • Run the O/S loader- Careful !!!! • Upgrade to another Interface (MicroWindows, PocketLinux,
iPAQ memory map As typically viewed by Linux http://www.linuxdevices.com/articles/AT4800835123.html
Transfer from Linux PC • Resources at www.handhelds.org • Compaq Statement • On decision to provide linux OS, Kernel and other resources • www.compaq.com/newsroom/pr/2000/pr2000061903.html
How To: Install Linux via pc • Power iPAQ with AC adapter • Place iPAQ in serial cradle How do you want to crash today?
Step: 1 • In order to transfer the kernel download a FTP server to the iPAQ and then use this so that data can be pushed from the desktop to the iPAQ. • The techniques described below could also be used to transfer any software (FTP Client for pulling the data across or even the whole kernel complete with boot loader and config file)
Step: 2 • WinCE Configuration (pronounced rhyming with PRINCE) • For all connections the WinCE machine needs to be configured. Turnoff WinCE's automatic connection by selecting 'Start/ Settings/ Communications', under the 'PC Connection' tab clear 'Enable Direct Connections...'. Press 'OK'
Step: 3 Now you need to enter the settings for your Linux connection. Enter 'Start/ Programs/ Communication/Connections' and select 'Make New Connection', give it a name ('Linux' for example) and select 'Direct Connection', click 'Next'. Select 'Serial Cable on COM1' and select 'Configure'.
Transfer from Linux PC • Press 'Finish' to create the 'Connection', these settings may be changed later through 'Properties' in the 'Connection' menu. • You will probably need to increase the size of the WinCE Radisk. The is done via a slider in 'Start/ Settings/ System' under the 'Memory' tab. • When the time comes to enable the link the 'Linux' connection should be double-clicked, or accessed through 'Start/ Programs/ Communications/ Linux'
Step: 4 • Enter the Baud rate and other serial settings that you wish to use, press 'OK' to confirm. • Select 'TCP/IP Settings' and set/clear 'Slip' depending on whether you are using PPP or SLIP, press OK to confirm the settings.
Step: 5 • For a serial cable connection, connection can be made with PPP (point to point protocol) • The internet standards for transmission of IP packets over serial lines. • For PPP you will need PPP to be compiled into you desktop's kernel and have PPPD installed and have 'root' access.
Step: 6 • Create the following files, call them ‘iPAQ' : • /etc/ppp/peers/iPAQ:/dev/ttyS0 115200 crtscts connect '/usr/sbin/chat -v -f /etc/ppp/iPAQ.chat' noauth local 192.168.55.101:192.168.55.100 /etc/ppp/iPAQ.chatTIMEOUT 3600 "CLIENT" "CLIENT\c" "" "SERVER\c". I can't use Windows. My cat ate my mouse.
Step: 7 • The connection then can be made by typing 'pppd call iPAQ' • run the 'Start/Connections/Linux' script on your iPAQ • Several lines of debug information will scroll by, this should contain the line 'ppp up'. • The connection can be terminated by pressing 'Ctrl-C'. The iPAQ stops the link after 10 minutes of inactivity
Step: 8 • Download an FTP Server onto the iPAQ ,to allow the LinuxPC connection to the WinCE machine and the ability to 'push' other programs onto it. You can use this method to download anything - programs, pictures, games, etc. Try 'ftpsvr.exe' which is freeware. • There are two techniques Web or Email. Since the iPAQ comes with the 'Pocket Explorer' HTML browser we will describe the web method
Step: 9 • Download O/Sloader • Start up 'Pocket Explorer' and enter the URL of you desktop machine, which should have a Web Server runningg, download software. • You will now be able to FTP to you iPAQ to transfer kernel and the boot loader. Download to the '/Windows/ Start Menu' directory. You can then start ‘O/Sloader' directly from the Start Menu
Step: 10 START UP • Start your new Linux iPAQ running on x-Windows • Set up PPP connection • Transfer files etc using FTP,SSH,NFS etc.
Transfer from Windows PC • iPaq H3600 Handhelds.org Bootloader Installation Instructions • WARNINGS: • If this installation fails then your iPAQ could become (temporarily) unusable. • This version is less likely than the previous installation processes to result in an installation failure. We are trying very hard to make this procedure bullet proof, and we think we're very close with the boot loader. The boot loader can not get over not get overwritten by accident now. Some additional bug is certainly possible, but we think it is unlikely. If you have not upgraded your boot loader to version 2.14.8, please do so immediately. • Compaq Research will ensure that you do not permanently turn your iPAQ into a paperweight, but it is very inconvenient for all of us if we have to fix a unit that was rendered nonbooting by a failed installation (or WinCE restoration).
Transfer from Windows PC • Windows CE Restoration • If you save an image of your Windows CE software as described in the WinCE restoration instructions then you will be able to restore it again after installing Linux. • The restoration process is not simple. It is error-prone. But it is available. We will help anyone who has trouble with it. • We are working on an improved process, but it is not ready yet. • WinCE has been successfully restored by many people on many different iPAQs. The current status of the save / restoration of WinCE is available at http://www.handhelds.org/projects/wince restoration.html.
Transfer from Windows PC • Some web browser's default download settings is 'ASCII' mode instead of 'binary' mode, this will make the downloaded files corrupt. For example, Netscape requires that you hold down the shift key when you click on an item for downloading in 'binary' mode. WARNING: Please verify the 'md5sum' of any file before using. • If you are going to be using minicom, there is a timing issue. If minicom starts to NAK repeatedly, stop the download Wait for the second '.' to print, then type ctrl-c. Retype the command at the boot loader prompt followed by a <cr>, then ctrl-a, z, s, select xmodem, , <cr>, <cr>. This will restart the down load very quickly and avoid the timing issues. • Unless you really really know what you are doing do not mix kernels, ramdisk and cramfs files from different V0.?? releases. Each V's can have different memory mappings.
Transfer from Windows PC • Requirements: • A computer that runs Windows 95/98/2000/NT. A few people have installed Linux on the iPAQ using a Linux computer. There are Linux connectivity instructions at http://www.handhelds.org/minihowto/wince-link/index.html and http://www.handhelds.org/pipermail/ipaq/2000-Auguest/000061.html • Install the ActiveSync application (Async) from the iPAQ H3600 Pocket PC distribution CD that came with your unit onto your Windows system. • You will also be using HyperTerminal (or other terminal emulator capable of the xmodem protocol, such as minicom on Linux.
Transfer from Windows PC • The following files from ftp://ftp.handhelds.org/pub/linux/compaq/ipaq/v0.20/: • bootldr-0000-2.14.8 • bootldr-0000-2.14.8.md5sum • osloader-1.3.0.exe • osloader-1.3.0.exe.md5sum • iPAQ H3600 with a serial cable (USB is NOT supported at this time). For those of you that can not wait for a serial cable, Peter Monta has instructions for a home made cable which invalidates the warrenty on the base station at http://www.handhelds.org/pipermail/ipaq/2000-Auguest/000061.html
Transfer from Windows PC • Installation: • Plug your iPAQ into the serial port of your Windows machine using a serial cable. • Configure your iPAQ to use the serial port for ActiveSync. • Select settings from the Start Menu (the Microsoft flag icon) • Click the Connections tab, and then double-click the PC icon. • Ensure the Automatically synchronize when serial cable is connected using is checked. • Change USB to 115200 Default. • Click OK (top right of the screen).
Transfer from Windows PC • Use the ActiveSync application (the file name is Async.exe) to connect to your iPaq 3600 from you PC. • Copy osloader-1.3.0.exe to your iPaq from your Windows machine. Ignore the "may need to convert" message you will get. • On your iPaq H3600, find osloader-1.3.0.exe wherever you put it, and then execute osloader-1.3.0.
Transfer from Windows PC • Select the Tools->Flash->Save to files.... Four (4) files, 4MB each in size will be created. After each file is created, copy the file to your computer, then delete the file from the iPAQ to make room in the WinCE ramdisk for the next file. The current status of the save / restoration of WinCE is available at http://www.handhelds.org/projects/wincerestoration.html. The files will be saved in the My Device folder -- the root folder on the device. They will have filenames: flash_00000000.bin, flash_00400000.bin, flash_00800000.bin and flash_00c00000.bin. • Select the "Tools->Bootldr->Run" menu entry. The iPAQ screen should go blank.
Transfer from Windows PC • On the PC disconnect the ActiveSync application (it is holding onto the serial port you need). • On the PC, right click on the ActiveSync logo in the tooltray. • Select the Connections Settings. • Deselect Allow serial cable or infrared connection to this COM port. • You may have trouble getting ActiveSync to free your serial port. You might want to use some more friendly operating system to run minicom or eterm or,... • Run your terminal emulator on whatever machine can talk to your serial port with the settings of: 115200 8N1 (115200 baud, 8 bits, No Parity, 1 stop bit) and Flow control: 'None'.
Transfer from Windows PC • At this point, the new bootldr is installed in flash. You can spot check the bootldr installation before rebooting by executing the command peek flash 0x0, which should print EA00008E. Also check peek flash 0x20, which should print 646C7462. If either of these prints FFFFFFFF, then the bootldr is erased. Be very careful. Do not reset the unit. Do not power cycle it. Make sure it is plugged in. Reload the bootldr. If there are any error messages email ipaq@handhelds.org or use IRC to connect to irc.openprojects.net channel #ipaq or #handhelds.org for assistance. • OK, now take a deep breath. Assuming you had no error messages, you are past the only risky part of the install.
Transfer from Windows PC • Reboot your iPaq H3600 by pushing the recessed reset button at the lower right of the unit. If the iPAQ is in a cradle, you will have to remove it to do this step. The boot loader should come up and display a splash screen on the LCD. Put the iPAQ back in the cradle. At this point, either type a space in the terminal emulator or push the calendar button on the iPAQ to get the bootldr's prompt "boot>". Don't be worried if the message "Corrupt kernel image", because you don't have a kernel installed yet. Whew! You are through the risky part of the procedure. • Now sure the bootldr flash sector is protected! If • qflash 2
Transfer from Windows PC • Congratulations! At this point you have a working bootloader and you are ready to install a Linux distribution. The latest Linux distribution for the iPAQ H3600 series is available at http://familiar.handhelds.org and can be installed using the instructions at http://familiar.handhelds.org/familiar/releases/latest/install/H3600/install.html. The older Handhelds.org Linux Distribution which was last updated in March of 2001 and is not likely to see any further updates can be installed by following the instructions at update.html. All future effort will be directed towards building the Familiar Distribution. • does not print 00010001 at this point, then contact the mailing list familiar@handhelds.org or IRC chat irc.openprojects.net /join #handhelds.org or #familiar. Do not use the pflash command.
Transfer from Windows PC • Note: if you need to get back into the boot loader after you have Linux running, restart the iPAQ and quickly hit the space bar a few times during the boot process. You can restart the iPAQ with the Linux command shutdown -r now. • If you have any problems, please post to one of the following lists:
Upgrade to Another Interface • Other interfaces and development tools are available for iPAQ • MicroWindows • PocketLinux • The other one
Advantages • If you’re a linux user now your pda can run on it • Become skilled at programming apps for linux devices(test programs), in case Microsoft doesn’t dominate these new markets • Test, Develop and run your own PDA java applications • You’re in Control – Open Source Speed Kills. Use Microsoft Windows.
Why Linux? • Speed • P200 + Windows '95 = Maserati with the parking brake on. • $$$$ Cost • Stability • Portability
Put your own programs into iPAQ’s Flash ROM • Get application development Tools • “skiff” FTP. Handhelds.org/pub/linux/arm/toolchain • Install program permanently • Use “cromfs utility” – at handhelds.org FTP