Raspberry Pi Configuration

Kernel configuration file

To be able to create a proper configuration file for the Raspberry Pi use the bcmrpi_defconfig for rasp1 and bcm2709_defconfig for the rasp2 version of the machine.

These files may be found in the Raspberry Pi Kernel repository.

Then add the following set of configuration lines so that proper EXT2 and EXT3 support is available.

CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y

Then add support for CRAMFS and SquashFS with the following configuration parameters.

CONFIG_CRAMFS=y
CONFIG_SQUASHFS=y
CONFIG_SQUASHFS_FILE_CACHE=y
# CONFIG_SQUASHFS_FILE_DIRECT is not set
CONFIG_SQUASHFS_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_DECOMP_MULTI is not set
# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3

Ensure that the Initrd support is available:

CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""

Add the required support for OverlayFS for extra flexibility:

CONFIG_OVERLAY_FS=y

Set the proper build version to be used for uname.

CONFIG_LOCALVERSION=".scudum.rasp.arm"
CONFIG_LOCALVERSION=".scudum.rasp2.arm"

Change the (default hostname) value of the machine to the Scudum value:

CONFIG_DEFAULT_HOSTNAME="scudum"

Updating

The process of updating a rpy kernel configuration files should always start with the copy of the corresponding base *_defconfig file from the Raspberry Pi Kernel repository.

Try to avoid using the non master version of the kernel as most of the times they do not work under the device itself as the branch only exists as a placeholder for future versions.

Notes

By using the make olddefconfig all the remaining/new configuration lines not defined in the configuration file are going to be populated with their respective default values according to the defined ARCH. Check this document for more information regarding kernel make configuration options/parameters.