NW   NE
 

Sharp Zaurus Developer Information

Corrections and Comments: Spencer Huang
 
SW   SE
NW   NE
 
Howtos

Upgrading The ROM

Connectivity
Wireless 802.11b

Linux Connectivity
Generic (USB)
Debian (USB)
Red Hat (USB)
Suse (USB)
Mandrake (USB)
Generic (PPP USB)
Generic (PPP Serial)

Windows Connectivity
Win2K (Serial)
Win98se (Serial)
WinMe Over (Serial)
WinNTSP6 (Serial)
WinXP Over (Serial)

Developing
Compiler Setup
Compiling the Kernel
Special Considerations
Checklist
System Layout
Application Help Files
IPKG Howto
Buzzer Howto
Led Howto
IrDa Howto
Audio Howto
Fullscreen Howto
Resume Event
Keys
Turning off the screen

Syncing
Linux
Win2K
Wireless

Other
Wireless Comparison
The Z Boot Process
Ipv6 Setup
Servers Setup
SD And CF FAQ
Setting Up A Feed
Converting TTF fonts
Building a ROM
MPEG Encoding

Downloads
ZaurusZone Feed
Links
 
SW   SE
NW   NE
  Original author unknown. Howto origin: http://www.grennan.com/myzaurus/The-Z-Boot-Process.html

The Z Boot process

Wow - This stuff is confusing.



This document is being developed before your eyes.
Here is what I have leaned about the boot process of my Zaurus.

These steps describe the process of a COLD boot.  This is one where the reset button under back battary cover has been pressed.  When this is done it puts some part of the Z into a state that is not otherwized set.

1) Hard Reset
        This is what happens the first time the Z is loaded.

2) Magic Happens (This part isn't documented - Yet)
I'm gussing the boot loader located at FLASH memory address 0x00000000 is executed. This part of the Z containes lots of hidden options.  One is the "CD" keyboard process to jump to the FLASH memory manager.

It at some point the Linux kernel 'init' function is called.

4) The kernel run
I'd like more information on just how the kernel is started and if it is any different then one executed on a workstation.  I'm thinking it must be because it is run in place.

5) The root file system is mounted read only.
This 'disk' space is realy FLASH memory. It is only updated by the load process.

For information about what is contained in FLASH see the documentaion on ROM imagea layout.

6) The init program is executed

7) init runs /etc/rc.d/rc.sysinit
Here is where things start getting confusing.  The Z uses lots of sim links.  

At this point in the process /etc is not /etc.  It is a sim link to /home/etc witch is itself a simlink to ../root/etc. So /etc is really /root/etc.

                /etc -> /home/etc -> ../root/etc/rc.d/rc.sysinit

In rc.sysint the path is set to /sbin:/bin:/usr/sbin.rom:/usr/bin.rom.  Then if the file /etc/sysconfig/network exists it is executed. And it does.

8) /root/etc/rc.d/rc.rofilesys is run
        The rc.sysinit function has found that this is the
        first time the system was booted.

Most of the root file system is empty at this point.
        A fresh copy of the ____ file system needs to be created.
        These file systems are keep in:

                /root/.dev_default.tar
                /root/.home_default.tar
                /root/.var_default.tar

        The command oncheck is run. This command determins if
        the system has been cold booted.

        If the system has been cold booted:

        8a) /dev is created
                The command:

                        dd if=/dev/zero of=/dev/ram1 bs=1024 count=64

                carves out the memory needed (64k) for /dev

                A minux file system is made in this space.

                        mkfs.minix -i 512 /dev/ram1 64

                The file system is mounted and the default devices
                are created.

                        mount -t minix /dev/ram1 /dev
                        cd /
                        tar xf /root/.dev_default.tar

        8b) /home is created
                This space is created with:

                        dd if=/dev/zero of=/dev/mtd1 bs=1024 count=0x00600000

                NOTE: The size used here is set by ____.

                This space is made into an FS2 disk disk and mounted.
                Then the home and var archives are restored into
                the space.

                        mount -t ext2 -o sync /dev/mtdblock1 /home
                        cd /
                        tar xf /root/.home_default.tar
                        cd /home/system
                        tar xf /root/.var_default.tar

        8c) 'oncheck -clear' is run to clear the cold hardware boot flag.

        If the sytem has been worm booted:

        8a) /dev is recreated just like above

        8b) The file system is check:

                e2fsck -y -f /dev/mtdblock1

                If this check goes bad an error messages printed to the
                user and the file systems are unmonted and the system
                is rebooted.

                If the file system check goes good /home is mounted.

9) The loopback network device is setup

10) The hostname is set.

11) Module dependices are check

12) rc.modules and rc.serial are run

13) /var/lock/* and /var/run/* are removed



 
SW   SE

    This page was last updated: Wednesday, 09-Apr-2003 04:57:24 PDT