x210项目重新回顾之十七升级到linux4.19.114 +buildroot2018再讨论

代码参考https://github.com/colourfate/x210_bsp/

他的是linux_4.10(dtb为 s5pv210-x210..dtb)我打算用linux4.19.114(dtb为 s5pv210-smdkv210.dtb) ,所以修改build.sh


5 MFLAG="ARCH=arm CROSS_COMPILE=/home/rlk/Downloads/arm-linux-gnueabihf_6.5/bin/arm-linux-gnueabihf-"

6 #MFLAG="ARCH=arm CROSS_COMPILE=$BASEPATH/toolchain/4.9.3/bin/arm-linux-"

7 #MFLAG="ARCH=arm CROSS_COMPILE=arm-linux-"

8 UBOOTDIR=u-boot-2017.09

9 LINUXDIR=linux-4.19.114

10 ROOTFSDIR=buildroot-2018.08

12 # sd卡设备文件

13 SDDEV=/dev/sdb

14 BL1POS=1 # BL1从1扇区开始

15 UBOOTPOS=49 # uboot从49扇区开始

16 # sd卡挂载点

SDDIR=/media/rlk/16930e10-5629-4824-9786-fdc160e6e9b2/

20 if [ $# == 0 ]; then

21 echo -e "\n------------------------uboot------------------------\n"

22 cd $UBOOTDIR

23 make x210_defconfig $MFLAG

24 make $MFLAG

25 cd sd_fusing/

26 make

27 ./mkx210 ../u-boot.bin 210.bin

28 cd $BASEPATH

29 cp UBOOTDIR/u-boot.bin UBOOTDIR/sd_fusing/210.bin outpu

32 BOOTDIR=arch/arm/boot

33 cd $LINUXDIR

34 make s5pv210_defconfig $MFLAG

35 rm $BOOTDIR/uImage

36 make uImage s5pv210-smdkv210.dtb LOADADDR=0x30007FC0 $MFLAG

37 cp BOOTDIR/uImage BOOTDIR/dts/s5pv210-smdkv210.dtb $BASEPATH/output

38 cd $BASEPATH

39

40 # FIXME: build root的工具链需要单独配置

42 cd $ROOTFSDIR

43 make x210_defconfig

44 BR2_TOOLCHAIN_EXTERNAL_PATH=/home/rlk/Downloads/arm-linux-gnueabihf_6.5/bin/
46 BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX=arm-linux-gnueabihf-

47 make ARCH=arm CROSS_COMPILE=/home/rlk/Downloads/arm-linux-gnueabihf_6.5/bin/arm-linux-gnueabihf-

48 cp output/images/rootfs.tar $BASEPATH/output

49 cd $BASEPATH

menuconfig截图:

如果buildroot最后生不出rootfs.rar可以不管直接去buildroot/output/target/拷贝到sd卡里的rootfs


uboot启动后参数配置(对应s5pv210-smdkv210.dtb的配置为root=/dev/mmcblk2p1,很奇怪,这里mmcblk2,内核看到的mmc编号2与uboot看到不一样1;但是若用s5pv210-x210.dtb,则配置为root=/dev/mmcblk1p1)

x210#setenv bootargs "noinitrd console=ttySAC2,115200 root=/dev/mmcblk2p1 rw init=/linuxrc rootfstype=ext4"

x210#ext4load mmc 1:1 0x30007FC0 uImage;(在uboot来看sd卡为编号为1,uImage在1分区)

x210#ext4load mmc 1:1 0x30000000 s5pv210-smdkv210.dtb

x210#fdt addr 30000000 ;bootm 30007FC0 - 30000000


注意uboot环境变量:

bootargs=root=/dev/mtdblock8 rootfstype=ext4 {console} {meminfo} ${mtdparts}

bootblock=9

bootchart=set opts init=/sbin/bootchartd; run bootcmd

bootcmd=run mmcboot

bootk=run loaduimage;bootm 0x30007FC0

cpu=armv7

fdtfile=s5pc1xxc110-x210.dtb

flashboot=set bootargs root=/dev/mtdblock{bootblock} rootfstype={rootfstype} {opts} {lcdinfo} {console} {meminfo} ${mtdparts}; run bootk

loaduimage=ext4load mmc {mmcdev}:{mmcbootpart} 0x30007FC0 uImage

meminfo=mem=80M mem=256M@0x40000000 mem=128M@0x50000000

mmcboot=set bootargs root=/dev/mmcblk{mmcdev}p{mmcrootpart} rootfstype={rootfstype} {opts} {lcdinfo} {console} {meminfo} {mtdparts}; run bootk
mmcbootpart=1 //cbootpart我这里也放在1分区,里面有uImage,dtd
mmcdev=1 //在uboot来看sd卡为编号为1
mmcrootpart=1 //rootfs我这里也放在1分区


sd卡内容$ ls

bin etc lib32 lost+found mnt proc rootfs.tar s5pv210-smdkv210.dtb sbin tmp uImage_4.19 var dev lib linuxrc media opt root run s5pv210-x210.dtb sys uImage usr zImage_4.19

相关推荐
天若有情6734 小时前
反向封神!C++ 全局单例不避反用,实现无锁多线程函数独占访问
java·javascript·c++
张风捷特烈4 小时前
状态管理大乱斗#02 | Bloc 源码全面评析
android·前端·flutter
爱莉希雅&&&4 小时前
Ansible+Docker案例(含ansible配置安装docker)
linux·运维·mysql·nginx·docker·容器·ansible
wicb91wJ64 小时前
Linux服务器性能调优常用命令
linux·服务器·网络
圆山猫4 小时前
[AI] [Linux] 教我编一个启用rust的riscv kernel用于qemu启动
linux·ai·rust
凤凰院凶涛QAQ4 小时前
《C++转JAVA快速入手系列》:基本通用语法篇
java·开发语言·c++
千寻girling4 小时前
机器学习 | 逻辑回归 | 尚硅谷学习
java·人工智能·python·学习·算法·机器学习·逻辑回归
RisunJan4 小时前
Linux命令-nmap(网络探测和安全审计工具)
linux·网络·安全
Javatutouhouduan4 小时前
阿里2026最新Java面试核心讲(终极版)
java·java面试·java并发·后端开发·java程序员·java八股文·java性能优化
SarL EMEN4 小时前
Linux(CentOS)安装 MySQL
linux·mysql·centos