HiSilicon latest out of an ultra-low memory chip hi3518ev201 (memory only 32M)
In the development process of the kernel of the cutting test is quite large, of course HiSilicon also provides a reference to the cutting scheme "hi3518ev20x_mini_config.txt".
However, it cannot be played exactly as the HiSilicon provides, because the kernel does not support USB, does not support frame buf, does not support Ethernet and NFS, does not support interprocess communication, and so on.
Where interprocess communication is not supported is the removal of the System V IPC option in the kernel configuration general setup; There are three types of System V IPC: System V Message Queuing, System V Semaphore, System V shared memory area. That is , Message Queuing, semaphores, and shared memory are not supported in three ways of inter-process communication.
1. Modify the makefile to add the following two lines to the first line position:
Arch=arm
cross_compile=arm-hisiv300-linux-
Seen in file systems---> After make menuconfig:
A. The kernel only supports EXT4 file systems
b.[] Miscellaneous filesystems---> Options are not checked at all, check in time to go in and see JFFS2 options
2. Add the JFFS2 tab in the Miscellaneous filesystems---> Options:
Device Drivers--->
<*> Memory Technology Device (MTD) Support---> (this option is selected, File systems---> Miscellaneous filesystems---& gt; will become the necessary option) Save
3. Remove support for the Ext4 file system and add support for JFFS2 and SQUASHFS file systems
Remove:
File Systems--->
< > The Extended 4 (EXT4) filesystem
Add to:
File Systems--->
-*-Miscellaneous Filesystems--->
<*> journalling Flash File System v2 (JFFS2) support
and <*> SquashFS 4.0-squashed file system support
4. Compile the Make uimage again, then burn the zimage to the board go 0x81000000, there are two sentences in the/etc/init.d/s00devs script
Mount-t Squashfs/dev/mtdblock2/mnt/app
Mount-t jffs2/dev/mtdblock3/mnt/app_ext/
The following error was found:
Mount:mounting/dev/mtdblock2 On/mnt/app Failed:no such device or address
Mount:mounting/dev/mtdblock3 On/mnt/app_ext/failed:no such device
5. Fix mount Error:
Device Drivers--->
<*> Memory Technology Device (MTD) Support--->
[*] Command Line Partition Table parsing
6. Compile again make uimage, then burn zimage to the board go 0x81000000, because SQUASHFS file system is the zlib compression algorithm by default, and we use the XZ algorithm with the highest compression rate, we will find the following error:
SQUASHFS Error:filesystem uses "XZ" compression. This isn't supported
Mount:mounting/dev/mtdblock2 On/mnt/app failed:invalid argument
7. Error resolving XZ compression algorithm:
File Systems--->
-*-Miscellaneous Filesystems--->
<*> journalling Flash File System v2 (JFFS2) support below
[*] Include support for ZLIB compressed file systems(remove tick)
[*] Include support for XZ compressed file systems (plus tick)
8. After running, the following error was found in the boot.sh script when working with the JFFS2 file system because the cryptographic algorithm type 0x07 did not hit the kernel:
Jffs2:compression type 0x07 not available
Jffs2:Error:jffs2_decompress returned-5
9. Error resolving XZ compression algorithm:
File Systems--->
-*-Miscellaneous Filesystems--->
[*] Advanced compression options for JFFS2 below
[*] JFFS2 LZO Compression Support (plus tick)
10.ok, the next step is to encounter some simple mistakes, no longer elaborate.
"Kernel" adds support for JFFS2 to the Linux kernel