Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

IGEPv2 Ubuntu Distro flash

7,132 bytes added, 10:50, 25 June 2018
Install the Rootfs (Using Ubi filesystem)
== Prerequisites ==
First you need follow the[[IGEPv2 Ubuntu Distro|IGEPv2 Ubuntu Distribution]] howto and boot the IGEPv2 / IGEP COM Module / IGEP COM Proton using the Ubuntu distributiondescribed in the howto.
== Where are the Nand Flash partitions? ==
First we We need to check where the Nand flash partitions are located we will use the command lsblk command for check it:<pre>root@igep00x0:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
mtdblock0 31:0 0 512K 0 disk
|-mmcblk0p1 179:1 0 70.6M 0 part /boot
`-mmcblk0p2 179:2 0 3.7G 0 part /
</pre>
Where:
 
mdtblock0: Bootloader partition<br> mtdblock1: Boot partition<br> mtdblock2: rootfs partition
 
== Erase the partitions ==
 
It's very important erase the partitions before try to write anything into the flash memory. We will erase all NAND partitions using these commands:
<pre>$ flash_eraseall /dev/mtd0
$ flash_eraseall /dev/mtd1
$ flash_eraseall /dev/mtd2
</pre>
==Install the Bootloader==
Download the writeloader binary package from [http://downloads.isee.biz/pub/isee-releases/ubuntu/ubuntu-12.04.04-lts-armel-armhf/isee-writeloader-bin-armel_0.01_armel.deb here]ARMEL version or from [http://downloads.isee.biz/pub/isee-releases/ubuntu/ubuntu-12.04.04-lts-armel-armhf/isee-writeloader-bin-armhf_0.01_armhf.deb here]if you are using hard float version.
 
After download the appropriate package we're ready for install the bootloader in the internal flash
 
ARMEL version
 
<pre>$ writeloader-armel -i /boot/MLO -o /dev/mtd0</pre>
ARM Hard float version
 
<pre>$ writeloader-armhf -i /boot/MLO -o /dev/mtd0</pre>
 
== Install the kernel (first boot) ==
 
We must create a jffs2 partition for the boot device, we will use this command:
<pre>$ mount -t jffs2 /dev/mtdblock1 /mnt</pre>
Now we can copy the boot content inside as
<pre>$ cd /mnt
$ cp /boot/igep.ini .
$ cp /boot/zImage .
</pre>
 
Now we will edit the file /boot/igep.ini (using nano) due we must specify the root boot partition.<br> Find inside the file any line similar to this one and comment it:
 
;--- Configure MMC boot ---
 
Change:
<pre>root=/dev/mmcblk0p2 rw rootwait</pre>
to
<pre>;root=/dev/mmcblk0p2 rw rootwait</pre>
And now we will activate the rootfs as ubi, you should locate these commented lines:
 
;--- Configure UBI FS boot ---
<pre>;ubi.mtd=2
;root=ubi0:igep0020-rootfs
;rootfstype=ubifs</pre>
And uncomment the three lines as:
<pre>ubi.mtd=2
root=ubi0:igep0020-rootfs
rootfstype=ubifs</pre>
At leatest save the file.
 
and after that we can unmount the device as
<pre>$ cd ..
$ umount /mnt</pre>
 
==Install the Rootfs (Using Ubi filesystem)==
a) Format the partition with ubi
 
<pre>$ ubiformat /dev/mtd2</pre>
b) Attach the device
 
<pre>$ ubiattach -p /dev/mtd2</pre>
c) Create the ubi volume
 
<pre>$ ubimkvol /dev/ubi0 -N rootfs -s 486MiB</pre>
d) Download the [http://downloads.isee.biz/pub/isee-releases/ubuntu/ubuntu-12.04.04-lts-armel-armhf/ubuntu-12.04.04-lts-isee-igep00x0-20140606-armel.ubi.img ubi ubuntu 12.04.4 LTS armel image] or [http://downloads.isee.biz/pub/isee-releases/ubuntu/ubuntu-12.04.04-lts-armel-armhf/ubuntu-12.04.04-lts-isee-igep00x0-20140606-armhf.ubi.img ubi ubuntu 12.04.4 LTS armhf image][http://downloads.isee.biz/pub/distros/ubuntu/ubuntu-12.04.04-lts-isee-igep00x0-20140606-armhf.ubi.img ]
 
'''NOTE''': This image is generated using this command:
 
<pre>$ mkfs.ubifs -r ubuntu-12.04.04-lts-isee-igep00x0-armel/ -m 2048 -e 129024 -c 4044 -o ubuntu-12.04.04-lts-isee-igep00x0-20140606-armel.ubi.img
</pre>
Where:
mdtblock0ubuntu-12.04.04-lts-isee-igep00x0-armel: Is the rootfs uncompressed directory ubuntu-12.04.04-lts-isee-igep00x0-20140606-armel.ubi.img&nbsp;: Is the ubi generated image e) Copy the ubi ubuntu image inside your board You can use ssh (the image has a openssh server installed) or you can install wget tool and download the image directly. f) Install the ubi ubuntu image if you want to use the armel image do: <pre>$ ubiupdatevol /dev/ubi0_0 /root/ubuntu-12.04.04-lts-isee-igep00x0-20140606-armel.ubi.img</pre>or the hard float alternative <pre>$ ubiupdatevol /dev/ubi0_0 /root/ubuntu-12.04.04-lts-isee-igep00x0-20140606-armhf.ubi.img</pre>g) Mount the ubi partition and verify the content <pre>$ mount -t ubifs ubi0:rootfs /mnt/$ls -aldrwxrwxr-x 21 igep igep 1376 Jun 5 15:06 .drwxrwxr-x 22 igep igep 4096 Jun 9 11:11 ..drwxr-xr-x 2 root root 6848 Jun 5 15:29 bindrwxr-xr-x 2 root root 160 Apr 19 2012 bootdrwxr-xr-x 4 root root 5824 Jun 3 15:04 devdrwxr-xr-x 50 root root 7624 Jun 5 16:06 etcdrwxr-xr-x 4 root root 288 Jun 5 15:23 homedrwxr-xr-x 11 root root 2056 Jun 5 15:21 libdrwxr-xr-x 2 root root 160 Jun 3 15:02 mediadrwxr-xr-x 2 root root 160 Apr 19 2012 mntdrwxr-xr-x 2 root root 160 Jun 3 15:02 optdrwxr-xr-x 2 root root 160 Apr 19 2012 procdrwx------ 3 root root 440 Jun 5 15:54 rootdrwxr-xr-x 6 root root 616 Jun 5 15:14 rundrwxr-xr-x 2 root root 8256 Jun 5 15:21 sbindrwxr-xr-x 2 root root 160 Mar 5 2012 selinuxdrwxr-xr-x 2 root root 160 Jun 3 15:02 srvdrwxr-xr-x 2 root root 160 Apr 14 2012 sysdrwxrwxrwt 3 root root 224 Jun 5 16:06 tmpdrwxr-xr-x 10 root root 672 Jun 3 15: Bootloader 02 usrdrwxr-xr-x 11 root root 864 Jun 3 15:02 var</pre> h) Edit fstab for "boot" partition After login edit the file: /mnt/etc/fstab and change this line: <pre>LABEL="boot" /boot vfat defaults 0 0</pre>to <pre>/dev/mtdblock1/boot jffs2 defaults 0 0</pre>Save the file. i) Umount the ubi partition <pre>$ umount /mnt</pre> [[Category: Ubuntu]][[Category:Software distributions]] == Boot from Flash (first time) == Unplug the power cord and eject the microsd card then plug the power cord again. <pre> * Loading cpufreq kernel modules... [ OK ] * CPU0... [ OK ] * CPUFreq Utilities: Setting ondemand CPUFreq governor... Ubuntu 12.04.4 LTS igep00x0 ttyO2 igep00x0 login:</pre> Use the same root password ("letmein" - is the default)  Mount manually the boot partition with this command: <pre>$ mount -t jffs2 /dev/mtdblock1 /boot </pre> After mount the boot partitiongo to /root/packages and install the kernel with: <pre>$ dpkg -i linux-image-2.6.37_0009.isee_armel.deb</pre> and after that install the wifi firmware with <pre>$ dpkg -i igep-fw-wifi-marvell-8686_0.1_all.deb</pre> At leatest go to /boot directory and copy the file vmlinuz-2.6.37 as zImage <pre>$ cd /boot $ cp vmlinuz-2.6.37 zImage </pre> Now you can reboot the board ... after that you've the ubuntu installed into the Nand Flash memory == Known issues ===== ISSUE - Booting device shows: The disk drive for /boot is not ready yet or not present. ===mtdblock2During the reboot process the console will show you this message: rootfs partition<pre>The disk drive for /boot is not ready yet or not present.Continue to wait, or Press S to skip mounting or M for manual recovery</pre> We will skip the /boot mount at this time (press 's') and the boot process will continue showing: <pre>Skipping /boot at user requestmodprobe: FATAL: Could not load /lib/modules/2.6.37/modules.dep: No such file or directory modprobe: FATAL: Could not load /lib/modules/2.6.37/modules.dep: No such file or directory  * Loading cpufreq kernel modules... [ OK ] * CPU0... [ OK ] * CPUFreq Utilities: Setting ondemand CPUFreq governor... Ubuntu 12.04.4 LTS igep00x0 ttyO2 igep00x0 login:</pre>  After login edit the file: /etc/fstab and change this line: <pre>LABEL="boot" /boot vfat defaults 0 0</pre> to <pre>/dev/mtdblock1 /boot jffs2 defaults 0 0</pre> Save the file.   [[Category:Ubuntu]][[Category:IGEPv2]]