本帖最后由 zrts123 于 2016-5-20 22:35 编辑
今天群里发警告 我还是积极点的好。。。晚上有时间赶紧发一个弄了很久的东西
由于我自己的显示器分辨率为1440*900 所以HDMI的720P的default设置在我的显示器上总是少一点儿 我发誓一定要改分辨率!!! 在wiki上面看了下介绍的我直接就上手了-后果如下
强迫症心理+小白水平=我竟然弄了两周 最后发现木有用啊 ( ▼-▼ )( ▼-▼ )
好了言归正传看了wiki然后发现改分辨率就是编译内核嘛然后就自信满满的干了,之后错误不断 也没留下截图这里文字说明一下-小白会出现的问题:
一步一步来吧!(补充一句:本人在ubuntu-
第一个问题:由于是小白我不知道要先安装交叉编译器才能玩,所以我很直接的去编译内核了,结果很简单系统用english告诉你---不好使
这里需说明一下下要想执行这个命令
git clone https://github.com/friendlyARM/linux-3.4.y.git
新系统需要事先安装git工具 : sudo apt-get install git
这段折腾了很久才静下心好好看介绍
好的那就安装编译器呗:
首先下载并解压编译器:
git clone https://github.com/friendlyarm/prebuilts.git
sudo mkdir -p /opt/FriendlyARM/toolchain
sudo tar xf prebuilts/gcc-x64/arm-cortexa9-linux-gnueabihf-4.9.3.tar.xz -C /opt/FriendlyARM/toolchain/
然后将编译器的路径加入到PATH中,用vi编辑vi ~/.bashrc,在末尾加入以下内容:(我自己用的nano ~/.bashrc 打开的 都一样)
export PATH=/opt/FriendlyARM/toolchain/4.9.3/bin:$PATH
export GCC_COLORS=auto
执行一下~/.bashrc脚本让设置立即在当前shell窗口中生效,注意"."后面有个空格:
. ~/.bashrc
这个编译器是64位的,不能在32位的Linux系统上运行,安装完成后,你可以快速的验证是否安装成功:(本人用的ubuntu-mate X64 虚拟机系统-貌似在nanopi上不成我一开始就直接在arm上编译的)
执行:arm-linux-gcc -v
出现以下情况恭喜你 成功
接下来,我又充分发扬小白的精神-直接 编译内核 结果就怎么都不对 后来百度发现 必须得先 编译 U-boot
实践告诉我们:偷工减料是不行滴! 缺斤少两是木有用滴!
接下来编译U-boot
下载U-Boot源代码并编译,注意分支是nanopi2-lollipop-mr1:
git clone https://github.com/friendlyarm/uboot_nanopi2.git
cd uboot_nanopi2
git checkout nanopi2-lollipop-mr1
make s5p4418_nanopi2_config
make CROSS_COMPILE=arm-linux-
准备mkimage编译内核需要用到U-Boot中的工具mkimage,因此,在编译内核uImage前,您需要保证您的主机环境可以成功运行它。
你可以直接使用命令 sudo apt-get install u-boot-tools 来安装,也可以自己编译并安装:
cd uboot_nanopi2
make CROSS_COMPILE=arm-linux- tools
sudo mkdir -p /usr/local/***in && sudo cp -v tools/mkimage /usr/local/***in
对不住这块图丢了。。。
只有以上步骤都ok才能继续奋斗!!!
编译内核:
git clone https://github.com/friendlyarm/linux-3.4.y.git
cd linux-3.4.y
git checkout nanopi2-lollipop-mr1
nanoPi2内核所属的分支是nanopi2-lollipop-mr1,在开始编译前先切换分支。
下载的命令没有对吧 (因为执行的太早没有截图)
make nanopi2_android_defconfig
touch .scmversion
make uImage
大家看到有一行写着:
“make ******* Error2 ”
此时本人已经崩溃,研究了很久一直以为操作有问题 (自己按照以上步骤弄了好几遍)后来百度了一下:
缺少一个东西:
安装 sudo apt-get install libncurses5-dev
然后就ok了
编译成功结束后,新生成的内核烧写文件为 arch/arm/boot/uImage,此内核支持HDMI 720p输出,用于替换掉SD卡boot分区下的uImage.hdmi。
先这样吧剩下的悲剧下次聊。