1、创建一个文件夹,sudo mkdir software(或者定位到你想存放根文件系统的目录)
2、cd software
3、获取buildroot代码
git clone https://github.com/buildroot/buildroot
切换到兼容Linaro 2014.09 toolchain的版本:
(1)cd buildroot
(2)git checkout 2015.08.x
(3)cd ..
4、准备好编译器 gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux
下载地址:https://rocketboards.org/foswiki/Documentation/EmbeddedLinuxBeginnerSGuide 的附件中有,下载后拷贝到linux下,并解压
tar -zxvf gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz
5、回到software目录下,使用以下命令打开配置窗口,BR2_TOOLCHAIN_EXTERNAL_PATH=后的路径改成自己对应步骤4解压后的GCC编译器的绝对路径
sudo make -C buildroot ARCH=ARM BR2_TOOLCHAIN_EXTERNAL_PATH=/home/uno/fandy/linux/socfpga_buildroot/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf- nconfig
- 配置Target Options:
- 在"Target Architecture"选项中,选择"ARM (little endian)"
- 在"Target Architecture variant"选项中,选中 "cortex-A9"
- 在"Target ABI"选项中, 选中"EABIhf"
- Enable “NEON SIMD extension support”
- 在“Floating point strategy”选项中, 选中"NEON"
- “Target Binary Format” and “ARM Instruction set” 选项保持默认。
- 配置Toolchain:
- 在“Toolchain type”选项中, 选中 “External toolchain”
- 确保 “Toolchain” 选项中,选中 “Linaro ARM 2014.09”.
- 在“Toolchain origin”选项中, 选中 “Pre-installed toolchain”
- 忽略"toolchain path"
- Enable “copy gdb server to the Target”
- 其他选项保持默认
- 配置System configuration:
- 配置hostname
- 配置root password
- 配置Kernel:
- 去掉“Linux Kernel” 选项的选中状态
- 配置Target packages
- 在 “Debugging, profiling and benchmark”选项中, 拖动滚动条到底部并选中 “valgrind”
- 配置结束,F6保存并按ESC退出。
6、进入buildroot文件夹,配置busybox,执行
sudo make busybox-menuconfig
在打开的配置窗口中,不做改变保存即可.
7、编译根文件系统
退回到 software,执行如下命令,同样编译器地址改成自己实际的地址
sudo make -C buildroot BR2_TOOLCHAIN_EXTERNAL_PATH=/home/uno/fandy/linux/socfpga_buildroot/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux all
等待约半小时可得到根文件系统