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.
$ 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
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
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
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
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
Hex code (type L to list codes): 6 Changed system type of partition 1 to 6 (FAT16)
Command (m for help): t Partition number (1-4): 2 Hex code (type L to list codes): 83
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
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
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.
$ 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.
$ 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
$ sudo mount /dev/sda1 /mnt $ sudo cp zImage bootloader bootloader_conf /mnt $ sudo umount /mnt
$ 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