Assembling SD card image

From FriendlyELEC WiKi
Jump to: navigation, search

查看中文

1 Change the files in rootfs.img and boot.img

apt install android-tools-fsutils
simg2img rootfs.img r.img
mount -t ext4 -o loop r.img /mnt
… To Change Something …
umount /mnt
img2simg r.img rootfs.img

2 Make Linux Image Files for 4418/6818

The key point is to make the boot section in the SD card to a boot.img and the rootfs section in the SD card to a rootfs.img and replace the corresponding files in an eflasher. Run the following commands on a PC host:
1) Download https://github.com/friendlyarm/debian_nanopi2;
2) Copy all the files in your SD card's boot section to "debian_nanopi2/boot" and all the files in your SD card's rootfs section to "debian_nanopi2/rootfs";
You can make changes in these two directories according to your requirements.
We suggest you remove the "etc/fs.resized" file under the rootfs directory to allow system's automatic file system extension.
3) Make an img file with the make_ext4fs utility under "debian_nanopi2":

./tools/make_ext4fs -s -l 67108864 -a root -L boot boot.img boot
./tools/make_ext4fs -s -l 3670016000 -a root -L rootfs rootfs.img rootfs

one thing you should be aware of is that the size of the .img file needs to be larger than the rootfs directory size,
below are the image size values for each system we’ve provided:
lubuntu: 5368709120
debian: 3670016000
friendlycore: 3670016000

4) Copy the newly generated boot.img and root.img to the "core-gte" directory of an eflasher's FAT section and replace the corresponding files. This eflasher will be ready for use

3 Make Linux Image Files for H3/H5

The key point is to make the boot section in the SD card to a boot.img and the rootfs section in the SD card to a rootfs.img and replace the corresponding files in an eflasher. Run the following commands on a PC host:
1) Download utilities: EFlasher-build-tools;
2) Make an ext4 formatted img file with the rootfs section:

$ cd /SD
$ ./make_ext4fs -s -l 2097152000 -a root -L rootfs rootfs.img ./rootfs

-l specifies the size of an img file and the unit is Byte, 2097152000 Byte=2000MB. The specified size must be bigger than the actual size of a source directory.
3) Make a fat formatted img file with the boot section:

$ ./build-boot-fat.sh boot.img /SD/boot 40

40 specifies the size of a boot.img to be 40M.
4) Copy the newly generated boot.img and root.img to an eflasher's FAT section and replace the corresponding files. This eflasher will be ready for use.

4 Make Installation TF Card with Custom Image File

Quite often a user makes changes in his own system and wants to use this system for mass production. In this case a user needs to make an image based on his own system. For an Android system an image contains a boot.img and a system.img. For a Ubuntu system an image contains a rootfs.img.
This section lists instructions for users to make a custom image which can be used to make an installation SD card for mass production.
Here are the steps to make an Android image for S5P4418:

git clone https://github.com/friendlyarm/sd-fuse_nanopi2.git
cd sd-fuse_nanopi2
wget http://112.124.9.243/dvdfiles/S5P4418/images-for-eflasher/android-lollipop-images.tgz
tar xvzf android-lollipop-images.tgz

Note: for an S5P6818 SoC you can just change "sd-fuse_nanopi2.git" to "sd-fuse_nanopi3.git" and "S5P4418" to "S5P6818".
Replace the corresponding files under the "Android" directory with your newly generated files and make an installation SD card by running the following commands:

sudo ./fusing.sh /dev/sde android

Note: you need to replace the "/dev/sde" with the actual device name of your SD card in the system

Run this command to make a complete image file:

sudo ./mkimage.sh android

5 Update Log

5.1 Sep-14-2017

  • Released English Version

5.2 Jan-30-2018

  • Updated Section 3