Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5664855
  • 博文数量: 1320
  • 博客积分: 12961
  • 博客等级: 上将
  • 技术积分: 15754
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-09 11:25
个人简介

偷得浮生半桶水(半日闲), 好记性不如抄下来(烂笔头). 信息爆炸的时代, 学习是一项持续的工作.

文章分类

全部博文(1320)

文章存档

2020年(104)

2019年(193)

2018年(81)

2017年(80)

2016年(70)

2015年(52)

2014年(41)

2013年(51)

2012年(85)

2011年(45)

2010年(231)

2009年(287)

分类: 其他平台

2020-04-07 20:34:47

基于 友善之臂的 nanoPC-T2
NanoPC-T2 定制 Android 重编译.doc

点击(此处)折叠或打开

  1. 参考
  2. http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T2/zh#.E5.A6.82.E4.BD.95.E7.BC.96.E8.AF.91.E7.B3.BB.E7.BB.9F

  3. 自定义后需要修改的内容包括
  4. 1.    设定网卡Mac地址.
  5. 2.    修改UBOOT/Kernel的开机Logo和android开机动画
  6. 3.    设定android ADB TCP机制
  7. 4.    Android 设定编译 e2fsck这个命令, 否则会造成android 界面卡顿很长时间.
  8. https://blog.csdn.net/MENGHUANBEIKE/article/details/78411765?utm_source=blogxgwz0
  9. ===========================================================
  10. ===========================================================
  11. ===========================================================

  12. 1.    笔记本 Virutual Box 安装 Ubuntu 16.04. (硬盘分了80G, 内存5G)

  13. 下载编译器
  14. git clone https://github.com/friendlyarm/prebuilts.git -b master --depth 1
  15. cd prebuilts/gcc-x64
  16. cat toolchain-4.9.3-armhf.tar.gz* | sudo tar xz -C /
  17. #修改 .bashrc
  18. export PATH=/opt/FriendlyARM/toolchain/4.9.3/bin:$PATH
  19. export GCC_COLORS=auto
  20. #确认环境是否正确
  21. #arm-linux-gcc -v
  22. Using built-in specs.
  23. COLLECT_GCC=arm-linux-gcc
  24. COLLECT_LTO_WRAPPER=/opt/FriendlyARM/toolchain/4.9.3/libexec/gcc/arm-cortexa9-linux-gnueabihf/4.9.3/lto-wrapper
  25. Target: arm-cortexa9-linux-gnueabihf
  26. Configured with: /work/toolchain/build/src/gcc-4.9.3/configure --build=x86_64-build_pc-linux-gnu
  27. --host=x86_64-build_pc-linux-gnu --target=arm-cortexa9-linux-gnueabihf --prefix=/opt/FriendlyARM/toolchain/4.9.3
  28. --with-sysroot=/opt/FriendlyARM/toolchain/4.9.3/arm-cortexa9-linux-gnueabihf/sys-root --enable-languages=c,c++
  29. --with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=vfpv3 --with-float=hard
  30. ...
  31. Thread model: posix
  32. gcc version 4.9.3 (ctng-1.21.0-229g-FA)


  33. UBOOT
  34. 编译 Android7/FriendlyCore/Lubuntu/EFlasher的U-Boot源代码 -下载U-Boot v2016.01源代码并编译,注意分支是nanopi2-v2016.01
  35. git clone https://github.com/friendlyarm/u-boot.git
  36. cd u-boot
  37. git checkout nanopi2-v2016.01
  38. make s5p4418_nanopi2_defconfig
  39. make CROSS_COMPILE=arm-linux-
  40. 编译成功结束后您将获得bootloader.img,可以通过fastboot、sd-fuse_s5p4418和eflasher来更新板上的U-Boot v2016.01。
  41. For Android7: 可复制bootloader.img到Android7源代码目录 device/friendlyelec/nanopi2/boot,然后重新编译Android7。

  42. UBOOT阶段, 加载的LOGO是在 mmc上的 logo.bmp.

  43. 使用串口:
  44. #printenv
  45. ethaddr=d8:80:39:5a:d6:83
  46. splashfile=logo.bmp
  47. splashimage=0x78000000
  48. splashpos=m,m

  49. 如果要在 android内修改的话
  50. adb root; adb shell mkdir /storage/sd1/; adb shell mount -t ext4 /dev/block/mmcblk0p1 /storage/sd1/
  51. 修改或者adb push覆盖 logo.bmp 即可.

  52. 下载Kernel
  53. git clone https://github.com/friendlyarm/linux.git -b nanopi2-v4.4.y --depth 1
  54. cd linux
  55. touch .scmversion
  56. make ARCH=arm nanopi2_nougat_defconfig
  57. make ARCH=arm
  58. 编译成功结束后,新生成的内核是 arch/arm/boot/zImage,目录arch/arm/boot/dts/下还包括新的DTB文件(s5p4418-nanopi2-rev*.dtb)。 如果只想调试内核,可通过 adb 来快速更新。
  59. adb root; adb shell mkdir /storage/sdcard1/; adb shell mount -t ext4 /dev/block/mmcblk0p1 /storage/sdcard1/;
  60. adb push arch/arm/boot/zImage arch/arm/boot/dts/s5p4418-nanopi2-rev*.dtb /storage/sdcard1/
  61. 内核开发/调试完成后,如果想生成用于烧写的boot.img,可复制内核zImage和DTB文件到Android7源代码目录 device/friendlyelec/nanopi2/boot,然后重新编译Android7。


  62. 下载Android
  63. 方式一
  64. git clone https://gitlab.com/friendlyelec/s5pxx18-android-7.git -b master
  65. 方式二
  66. 网盘http://download.friendlyarm.com/NanoPC-T2
  67. 下载 sources/s5pxx18-android-7.git-YYYYMMDD.tar
  68. tar xvf /path/to/netdisk/sources/s5pxx18-android-7.git-YYYYMMDD.tar
  69. cd s5pxx18-android-7
  70. ./sync.sh #执行一下 sync.sh 脚本,会从gitlab上拉取最新的代码

  71. 开始编译
  72. cd s5pxx18-android-7
  73. source build/envsetup.sh
  74. lunch aosp_nanopi2-userdebug
  75. make -j8

  76. 编译成功完成后,目录 out/target/product/nanopi2/ 下包含可用于烧写的image文件。
  77. filename    partition    Description
  78. bl1-mmcboot.bin    raw    boot firmware
  79. loader-mmc.img    raw    boot firmware
  80. bl_mon.img    raw    boot firmware
  81. bootloader.img    raw    uboot-v2016.01
  82. env.conf    -    uboot环境变量,包含Android内核命令行参数
  83. boot.img    boot    kernel zImage, DTBs; logo; Android ramdisk
  84. cache.img    cache    -
  85. userdata.img    userdata    -
  86. system.img    system    -
  87. partmap.txt    -    分区描述文件



  88. 自定义内容:
  89. /android/s5pxx18-android-7/device/friendlyelec/nanopi2
  90. 1.    fstab.nanopi2 / fstab.nanopi2.emmc.
  91. a)    /system的加载 rw.
  92. 2.    替换 boot/logo.bmp 为 uboot/kernel期间的LOGO.
  93. 3.    修改 device.mk
  94. a)    添加 目录 bootanimation 并且添加 bootanimation.zip(一定需要使用存储的方式打包), 权限 chmod 0666
  95. # Boot animation
  96. PRODUCT_COPY_FILES += \ device/friendlyelec/nanopi2/bootanimation/bootanimation.zip:system/media/bootanimation.zip
  97. b)    添加目录 apps 并且添加 BusyBox_Free-63.apk
  98. # Vendor App
  99. PRODUCT_COPY_FILES += \
  100. device/friendlyelec/nanopi2/apps/BusyBox_Free-63.apk:system/app/BusyBox_Free-63.apk
  101. c)    修改 build/core/Makefile, 屏蔽一下行
  102. #define check-product-copy-files
  103. #$(if $(filter %.apk, $(1)),$(error \
  104. # Prebuilt apk found in PRODUCT_COPY_FILES: $(1), use BUILD_PREBUILT #
  105. #endef

  106. 4.    system.prop 增加 service.adb.tcp.port = 5555
  107. 编译后体现在 system/build.prop中.
  108. 5.    MAC绑定IP d8:80:39:5a:d6:83


  109. 烧写固件
  110. 上电时在串口终端敲回车进入uboot命令行模式,然后输入以下命令:
  111. fastboot 0
  112. 然后对于S5P4418, 通过OTG连接PC端可使用以下命令来更新emmc:
  113. fastboot flash partmap partmap.txt
  114. fastboot flash 2ndboot bl1-mmcboot.bin
  115. fastboot flash fip-loader loader-mmc.img
  116. fastboot flash fip-secure bl_mon.img
  117. fastboot flash fip-nonsecure bootloader.img
  118. fastboot flash boot boot.img
  119. fastboot flash system system.img ## 这个很慢, 约 150秒
  120. fastboot flash cache cache.img
  121. fastboot flash userdata userdata.img

然后PC上使用 
adb tcpip 5555 (端口号)
adb connect 192.168.43.199 
adb root
adb shell

阅读(319) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~