From Fedora Project Wiki
(Created page with "{{needs love}} {{admon/note|We need more hands on board!| We need more folks to improve the distribution process. We need '''YOU'''!}} =How To Make a Fedora Image on an ARM H...")
 
Line 19: Line 19:
 
Decompression the file and Flash the image to SD card:
 
Decompression the file and Flash the image to SD card:
  
{{{
+
  $ sudo dd if=F17-arndale-201304221157.img of=${DEV}
$ sudo dd if=F17-arndale-201304221157.img of=${DEV}
 
}}}
 
  
 
Flash u-boot to SD card:
 
Flash u-boot to SD card:
  
{{{
+
  $ wget http://tekkamanninja.fedorapeople.org/boards/arndale/u-boot/arndale-bl1.bin
$ wget http://tekkamanninja.fedorapeople.org/boards/arndale/u-boot/arndale-bl1.bin
+
  $ wget http://tekkamanninja.fedorapeople.org/boards/arndale/u-boot/smdk5250-spl.bin
$ wget http://tekkamanninja.fedorapeople.org/boards/arndale/u-boot/smdk5250-spl.bin
+
  $ wget http://tekkamanninja.fedorapeople.org/boards/arndale/u-boot/u-boot.bin
$ wget http://tekkamanninja.fedorapeople.org/boards/arndale/u-boot/u-boot.bin
+
  $ sudo dd if=arndale-bl1.bin  of=${DEV} bs=512 seek=1
$ sudo dd if=arndale-bl1.bin  of=${DEV} bs=512 seek=1
+
  $ sudo dd if=smdk5250-spl.bin of=${DEV} bs=512 seek=17
$ sudo dd if=smdk5250-spl.bin of=${DEV} bs=512 seek=17
+
  $ sudo dd if=u-boot.bin of=${DEV} bs=512 seek=49
$ sudo dd if=u-boot.bin of=${DEV} bs=512 seek=49
+
  $ sync
$ sync
 
}}}
 
  
 
where ${DEV} can be `/dev/mmcblkN` or `/dev/sdN`.
 
where ${DEV} can be `/dev/mmcblkN` or `/dev/sdN`.
Line 45: Line 41:
 
Format SSD into two partitions like below :
 
Format SSD into two partitions like below :
  
{{{
+
  [root@arndale-f17-v7hl fuwei]# fdisk -l /dev/sda
[root@arndale-f17-v7hl fuwei]# fdisk -l /dev/sda
+
 
 
+
  Disk /dev/sda: 128.0 GB, 128035676160 bytes
Disk /dev/sda: 128.0 GB, 128035676160 bytes
+
  255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
+
  Units = sectors of 1 * 512 = 512 bytes
Units = sectors of 1 * 512 = 512 bytes
+
  Sector size (logical/physical): 512 bytes / 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
+
  I/O size (minimum/optimal): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
+
  Disk identifier: 0x6fea5476
Disk identifier: 0x6fea5476
 
 
 
  Device Boot      Start        End      Blocks  Id  System
 
/dev/sda1            2048    8390655    4194304  83  Linux
 
/dev/sda2        8390656  250069679  120839512  83  Linux
 
}}}
 
  
 +
    Device Boot      Start        End      Blocks  Id  System
 +
  /dev/sda1            2048    8390655    4194304  83  Linux
 +
  /dev/sda2        8390656  250069679  120839512  83  Linux
  
 
=== format 4BG swap partition and mount it ===
 
=== format 4BG swap partition and mount it ===
{{{
 
# mkswap /dev/sda1
 
# swapon /dev/sda1
 
# swapoff /dev/mmcblk1p2
 
# free
 
            total      used      free    shared    buffers    cached
 
Mem:      2062708      73120    1989588          0      3180      21252
 
-/+ buffers/cache:      48688    2014020
 
Swap:      4194300          0    4194300
 
  
}}}
+
  # mkswap /dev/sda1
 +
  # swapon /dev/sda1
 +
  # swapoff /dev/mmcblk1p2
 +
  # free
 +
              total      used      free    shared    buffers    cached
 +
  Mem:      2062708      73120    1989588          0      3180      21252
 +
  -/+ buffers/cache:      48688    2014020
 +
  Swap:      4194300          0    4194300
  
 
=== format another partition and mount it as Extended Storage(ES) ===
 
=== format another partition and mount it as Extended Storage(ES) ===
{{{
+
 
# mkfs.ext4 -L "es" /dev/sda2
+
  # mkfs.ext4 -L "es" /dev/sda2
# mount /dev/sda2 /es/
+
  # mount /dev/sda2 /es/
}}}
 
  
 
=== make directory structure on Extended Storage(ES) ===
 
=== make directory structure on Extended Storage(ES) ===
{{{
 
[root@arndale-f17-v7hl /]# tree /es/
 
/es/
 
├── lost+found
 
└── scratch
 
    └── fuwei
 
        ├── arndale
 
        │  ├── F18
 
        │  │  ├── images
 
        │  │  └── kickstarts
 
        │  └── u-boot
 
        └── scripts
 
  
}}}
+
  [root@arndale-f17-v7hl /]# tree /es/
 +
  /es/
 +
  ├── lost+found
 +
  └── scratch
 +
      └── fuwei
 +
          ├── arndale
 +
          │  ├── F18
 +
          │  │  ├── images
 +
          │  │  └── kickstarts
 +
          │  └── u-boot
 +
          └── scripts
 +
 
  
  
Line 101: Line 90:
 
For making image on ARM host, we need to install the 'patched' versions of anaconda and lorax from '''xpfa'''.
 
For making image on ARM host, we need to install the 'patched' versions of anaconda and lorax from '''xpfa'''.
  
{{{
+
  # yum --nogpgcheck install http://dmarlin.fedorapeople.org/packages/FedoraArm/RPMS/noarch/xpfa-17-1.2.noarch.rpm
# yum --nogpgcheck install http://dmarlin.fedorapeople.org/packages/FedoraArm/RPMS/noarch/xpfa-17-1.2.noarch.rpm
+
  # yum --enablerepo=xpfa install anaconda lorax
# yum --enablerepo=xpfa install anaconda lorax
 
}}}
 
  
 
== Get a kickstart file ==
 
== Get a kickstart file ==
Line 118: Line 105:
 
The shell script for making image is below:
 
The shell script for making image is below:
  
{{{
+
  #!/bin/sh
#!/bin/sh
+
  BUILD_TIME=`date +%Y%m%d%H%M`
BUILD_TIME=`date +%Y%m%d%H%M`
+
 
 
+
  livemedia-creator \
livemedia-creator \
+
  --no-virt --make-disk \
--no-virt --make-disk \
+
  --armplatform=None \
--armplatform=None \
+
  --tmp=/es/scratch/fuwei/arndale/F18/images/ \
--tmp=/es/scratch/fuwei/arndale/F18/images/ \
+
  --image-name=F18-arndale-${BUILD_TIME}.img \
--image-name=F18-arndale-${BUILD_TIME}.img \
+
  --ks=/es/scratch/fuwei/arndale/F18/kickstarts/F18-arndale-console_in_f17.ks
--ks=/es/scratch/fuwei/arndale/F18/kickstarts/F18-arndale-console_in_f17.ks
 
}}}
 
  
 
Put it into /es/scratch/fuwei/scripts, add execute permission and execute it.
 
Put it into /es/scratch/fuwei/scripts, add execute permission and execute it.
  
 
Note: If you met any error in build procedure. you had better to reboot the board and execute "anaconda-cleanup", then try again.
 
Note: If you met any error in build procedure. you had better to reboot the board and execute "anaconda-cleanup", then try again.

Revision as of 03:11, 2 May 2013

Cog.png
This page needs some love
This page should be revised or reconstructed to be more helpful. Problems may include being out of step with current team or project status or process.
Note.png
We need more hands on board!
We need more folks to improve the distribution process. We need YOU!

How To Make a Fedora Image on an ARM Host(Arndale)

ARM host Hardware Requirements

RAM >= 2GB

SSD (for swap and storage)

So we will use Arndale board(running F17) and ADATA SP900 128G SSD to make F18 image in this Wiki.


Deloying a Fedora 17 on Arndale

[17 image for Arndale Board].

Decompression the file and Flash the image to SD card:

 $ sudo dd if=F17-arndale-201304221157.img of=${DEV}

Flash u-boot to SD card:

 $ wget http://tekkamanninja.fedorapeople.org/boards/arndale/u-boot/arndale-bl1.bin
 $ wget http://tekkamanninja.fedorapeople.org/boards/arndale/u-boot/smdk5250-spl.bin
 $ wget http://tekkamanninja.fedorapeople.org/boards/arndale/u-boot/u-boot.bin
 $ sudo dd if=arndale-bl1.bin  of=${DEV} bs=512 seek=1
 $ sudo dd if=smdk5250-spl.bin of=${DEV} bs=512 seek=17
 $ sudo dd if=u-boot.bin of=${DEV} bs=512 seek=49
 $ sync

where ${DEV} can be /dev/mmcblkN or /dev/sdN.

Then insert the SD card into the Arndale and boot.

Attach a SSD to ARM host

We need a SSD for bigger swap and storage.

Format SSD into two partitions like below :

 [root@arndale-f17-v7hl fuwei]# fdisk -l /dev/sda
 
 Disk /dev/sda: 128.0 GB, 128035676160 bytes
 255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x6fea5476
    Device Boot      Start         End      Blocks   Id  System
 /dev/sda1            2048     8390655     4194304   83  Linux
 /dev/sda2         8390656   250069679   120839512   83  Linux

format 4BG swap partition and mount it

 # mkswap /dev/sda1
 # swapon /dev/sda1
 # swapoff /dev/mmcblk1p2 
 # free
              total       used       free     shared    buffers     cached
 Mem:       2062708      73120    1989588          0       3180      21252
 -/+ buffers/cache:      48688    2014020
 Swap:      4194300          0    4194300

format another partition and mount it as Extended Storage(ES)

 # mkfs.ext4 -L "es" /dev/sda2
 # mount /dev/sda2 /es/

make directory structure on Extended Storage(ES)

 [root@arndale-f17-v7hl /]# tree /es/
 /es/
 ├── lost+found
 └── scratch
     └── fuwei
         ├── arndale
         │   ├── F18
         │   │   ├── images
         │   │   └── kickstarts
         │   └── u-boot
         └── scripts


Install anaconda and lorax

For making image on ARM host, we need to install the 'patched' versions of anaconda and lorax from xpfa.

 # yum --nogpgcheck install http://dmarlin.fedorapeople.org/packages/FedoraArm/RPMS/noarch/xpfa-17-1.2.noarch.rpm
 # yum --enablerepo=xpfa install anaconda lorax

Get a kickstart file

You can download a example kickstart file from [17 kickstart file for Arndale Board]

This kickstart file can make a F18 image in F17 ARM host for Arndale Board.

Put it to /es/scratch/fuwei/arndale/F18/kickstarts/

Building image using livemedia-creator

The shell script for making image is below:

 #!/bin/sh
 BUILD_TIME=date +%Y%m%d%H%M
 
 	livemedia-creator \
 	--no-virt --make-disk \
 	--armplatform=None \
 	--tmp=/es/scratch/fuwei/arndale/F18/images/ \
 	--image-name=F18-arndale-${BUILD_TIME}.img \
 	--ks=/es/scratch/fuwei/arndale/F18/kickstarts/F18-arndale-console_in_f17.ks

Put it into /es/scratch/fuwei/scripts, add execute permission and execute it.

Note: If you met any error in build procedure. you had better to reboot the board and execute "anaconda-cleanup", then try again.