|ARM Technical Support Knowledge Articles|
Applies to: Embedded Software
I want to enable support for the 64KB page size kernel for performance analysis or case debug. I configure the kernel to support 64K page. However, the 64KB page size kernel cannot mount the root file system successfully because the init task or BusyBox binary cannot run. How do I enable a 64KB page size kernel and avoid such these problems?
To enable the 64KB page size support, you must modify configuration files and rebuild the kernel. Your current root file systems determine whether you need to rebuild your root file system.
A 4KB page size kernel supports both AARCH32 and AARCH64 in EL0, while a 64KB page size kernel supports only AARCH64 in EL0. When the 64KB page size is enabled, the configuration item CONFIG_COMPAT is disabled. Therefore, if your root file system is built with the AARCH32 toolchain, you must rebuild it with the AARCH64 toolchain.
The same applies to other userspace binaries. If they are built by the AARCH32 toolchain, you must rebuild it with the AARCH64 toolchain.
Consider the Juno board for example. To implement the 64KB page size kernel, perform the following steps:
1. Get the latest Juno release code and place it in your working directory, for example
For details about how to download the latest code base, see community.arm.com/docs/DOC-10804.
2. Modify the default setting in the configuration file to enable the 64KB page size.
work_dir/linux/linaro/configs/vexpress64.conf configuration file, add the following entry:
3. Fix GPU driver compilation errors.
For now, the enablement of the 64KB page size causes GPU driver compilation errors.
work_dir/linux/linaro/configs/vexpress64.conf configuration file, remove the following entries:
4. Compile the BusyBox system.
>: cd work_dir
>: ./build_scripts/build-all.sh juno-BusyBox
>: ./build_scripts/build-all.sh juno-BusyBox package
After these steps, you can find the following images in the
If the RAMDisk image is built with the AARCH64 toolchain, you do not need to change it.
Did you find this article helpful? Yes No
How can we improve this article?