CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors

Supported Devices

j72x - HP Jornada 720/728


Installation


Introduction

There is some ways to run a rootfs from a device, it depends in the device, if it can be flashed with its own bootloader or if a bootloader can be ran from a pre-installed winCE. In this case we will prepare the media, which will be the same for both cases (most bootloaders run the second ext2 partition, but if this isn't your case and your flashed bootloader boots the first partition, you can avoid the creation of the vfat partition). In this case, in the vfat partition must be at least the bootloader, the config file for it and a zImage (may be an initrd too to boot from it instead of booting from the rootfs). TODO: Here we provide at this moment the rootfs, but may be in a future we will provided a vfat release for devices (or may be the way to build it) to boot CRUX-ARM from winCE.

Media preparation

$ sudo fdisk /dev/sda

Command (m for help): p

Disk /dev/sda: 2004 MB, 2004516864 bytes
62 heads, 62 sectors/track, 1018 cylinders
Units = cylinders of 3844 * 512 = 1968128 bytes
Disk identifier: 0x001c2022

   Device Boot      Start         End      Blocks   Id  System
  • Creating a new partition (this will store kernel and bootloader, there's no need to use too much space):
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1018, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-1018, default 1018): +100M
  • Creating a new partition (this will store the rootfs provided by crux-arm):
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (55-1018, default 55): 55
Last cylinder, +cylinders or +size{K,M,G} (55-1018, default 1018): +1G

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (602-1018, default 602): 602
Last cylinder, +cylinders or +size{K,M,G} (602-1018, default 1018):
Using default value 1018
  • Showing partitions on media:
Command (m for help): p

Disk /dev/sda: 2004 MB, 2004516864 bytes
62 heads, 62 sectors/track, 1018 cylinders
Units = cylinders of 3844 * 512 = 1968128 bytes
Disk identifier: 0x001c2022

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          54      103757   83  Linux
/dev/sda2              55         601     1051334   83  Linux
/dev/sda3             602        1018      801474   83  Linux
  • Assigning types for created partitions:
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): L

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris
 1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx
 5  Extended        42  SFS             86  NTFS volume set da  Non-FS data
 6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility
 8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt
 9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access
 a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O
 b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor
 c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs
 e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT
 f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor
12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor
14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary
16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS
17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep
1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT
1e  Hidden W95 FAT1
  • The first partition will be fat type:
Hex code (type L to list codes): 6
Changed system type of partition 1 to 6 (FAT16)
  • The second one will be linux type:
Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 83
  • Here we created a third linux partition:
Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 83

Command (m for help): a
Partition number (1-4): 1
  • Showing partition table again:
Command (m for help): p

Disk /dev/sda: 2004 MB, 2004516864 bytes
62 heads, 62 sectors/track, 1018 cylinders
Units = cylinders of 3844 * 512 = 1968128 bytes
Disk identifier: 0x001c2022

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          54      103757    6  FAT16
/dev/sda2              55         601     1051334   83  Linux
/dev/sda3             602        1018      801474   83  Linux
  • Saving changes:
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
  • Format partitions (at least you need 2 partitions)
    • First the vfat partition:
$ sudo mkfs.vfat -F 16 /dev/sda1
mkfs.vfat 3.0.4 (21 Jul 2009)
]@
*** The second a ext2 partition:
[@
$ sudo mkfs.ext2 /dev/sda2
mke2fs 1.41.8 (11-July-2009)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
65808 inodes, 262833 blocks
13141 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=272629760
9 block groups
32768 blocks per group, 32768 fragments per group
7312 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
  • This is an example of a third partition (in this case another ext2 partition):
$ sudo mkfs.ext2 /dev/sda3
mke2fs 1.41.8 (11-July-2009)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
50176 inodes, 200368 blocks
10018 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=205520896
7 block groups
32768 blocks per group, 32768 fragments per group
7168 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
Media Installation
  • Once media is ready, we must get at least 2 partitions:
    • vfat partition:
      • zImage and the bootloader for your device (configuration file for the bootloader too)
    • ext2 partition:
      • rootfs release
      • kernel modules for your device
  • Now its time to install
    • vfat partition:
$ sudo mount /dev/sda1 /mnt
$ sudo cp zImage bootloader bootloader_conf /mnt
$ sudo umount /mnt
  • ext2 partition:
$ sudo mount /dev/sda2 /mnt
$ sudo tar -C /mnt -psxjf crux-arm-X.X-xxx.tar.bz2
$ sudo tar -C /mnt -psxjf modules-version-device
$ sudo umount /mnt