【小熊派nano鸿蒙OS开发板】开发环境配置的踩坑

本来想采用树莓派进行,发现不行

配置Linux编译开发环境

修改bash

pi@raspberrypi:/bin $ mv sh sh.bak
mv: cannot move 'sh' to 'sh.bak': Permission denied
pi@raspberrypi:/bin $ sudo mv sh sh.bak
pi@raspberrypi:/bin $ sudo ln -s /bin/bash /bin/sh
pi@raspberrypi:/bin $ ls
bash          chgrp          dumpkeys    hciconfig   login        mv              ntfsfix       ps         ss                              tar              zcmp
bunzip2       chmod          echo        hostname    loginctl     nano            ntfsinfo      pwd        stty                            tempfile         zdiff
busybox       chown          ed          ip          lowntfs-3g   nc              ntfsls        rbash      su                              touch            zegrep
bzcat         chvt           egrep       journalctl  ls           nc.openbsd      ntfsmove      readlink   sync                            true             zfgrep
bzcmp         con2fbmap      false       kbd_mode    lsblk        nc.traditional  ntfsrecover   red        systemctl                       udevadm          zforce
bzdiff        cp             fbset       keyctl      lsmod        netcat          ntfssecaudit  rm         systemd                         ulockmgr_server  zgrep
bzegrep       cpio           fgconsole   kill        mkdir        netstat         ntfstruncate  rmdir      systemd-ask-password            umount           zless
bzexe         dash           fgrep       kmod        mknod        networkctl      ntfsusermap   rnano      systemd-escape                  uname            zmore
bzfgrep       date           findmnt     less        mktemp       nisdomainname   ntfswipe      run-parts  systemd-hwdb                    uncompress       znew
bzgrep        dd             fuser       lessecho    modeline2fb  ntfs-3g         openvt        sed        systemd-inhibit                 unicode_start
bzip2         df             fusermount  lessfile    more         ntfs-3g.probe   pidof         setfont    systemd-machine-id-setup        vdir
bzip2recover  dir            grep        lesskey     mount        ntfscat         ping          setupcon   systemd-notify                  wdctl
bzless        dmesg          gunzip      lesspipe    mountpoint   ntfscluster     ping4         sh         systemd-sysusers                which
bzmore        dnsdomainname  gzexe       ln          mt           ntfscmp         ping6         sh.bak     systemd-tmpfiles                ypdomainname
cat           domainname     gzip        loadkeys    mt-gnu       ntfsfallocate   plymouth      sleep      systemd-tty-ask-password-agent  zcat
pi@raspberrypi:/bin $ ls -l sh
lrwxrwxrwx 1 root root 9 Dec 22 08:51 sh -> /bin/bash

安装Python环境

pi@raspberrypi:/ $ sudo pip3 install pycryptodome
pi@raspberrypi:/ $ sudo pip3 install kconfiglib
pi@raspberrypi:/ $ sudo pip3 install six --upgrade --ignore-installed six
pi@raspberrypi:/ $ sudo pip3 install ecdsa

将Python3作为默认版本

pi@raspberrypi:/usr/bin $ sudo mv python python.bak
pi@raspberrypi:/usr/bin $ sudo ln -s python3.7
python3.7          python3.7-config   python3.7m         python3.7m-config  
pi@raspberrypi:/usr/bin $ sudo ln -s python3.7 /usr/bin/python
pi@raspberrypi:/usr/bin $ ls -l python
lrwxrwxrwx 1 root root 9 Dec 23 08:31 python -> python3.7
pi@raspberrypi:/usr/bin $ python -V
Python 3.7.3

安装SCons环境

pi@raspberrypi:/usr/bin $ sudo apt-get install scons -y
pi@raspberrypi:/usr/bin $ scons -v

更改为3.0.4版本
https://scons.org/pages/download.html

pi@raspberrypi:/opt/scons/SCons-4.0.1 $ sudo tar -xvf scons-4.0.1.tar.gz
pi@raspberrypi:/opt/scons/SCons-4.0.1 $ cd SCons-4.0.1/
pi@raspberrypi:/opt/scons/SCons-4.0.1 $ sudo python3 setup.py install
pi@raspberrypi:/opt/scons/SCons-4.0.1 $ scons -v
SCons by Steven Knight et al.:
    SCons: v4.0.1.

安装编译工具

gn工具——产生ninja编译脚本

pi@raspberrypi:~ $ sudo tar xvf ./gn.1523.tar -C ~/

ninja工具——执行ninja编译脚本

pi@raspberrypi:~ $ sudo tar xvf ./ninja.1.9.0.tar -C ~/

交叉编译器gcc_riscv32

pi@raspberrypi:~ $ sudo tar xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~/

配置环境变量

pi@raspberrypi:~ $ vim ~/.bashrc
export PATH=~/gn:$PATH
export PATH=~/ninja:$PATH
export PATH=~/gcc_riscv32/bin:$PATH

生效配置:

pi@raspberrypi:~ $ source ~/.bashrc 
pi@raspberrypi:~ $ riscv32-unknown-elf-gcc -v
-bash: /home/pi/gcc_riscv32/bin/riscv32-unknown-elf-gcc: cannot execute binary file: Exec format error

由于树莓派不是X86架构,而是ARM架构,目前gcc_riscv32不支持。。。。
改为X86服务器即可:

(bearpi) 15:53 luohb@Studynode:~/tools 
$ riscv32-unknown-elf-gcc -v
Using built-in specs.
COLLECT_GCC=riscv32-unknown-elf-gcc
COLLECT_LTO_WRAPPER=/home/luohb/gcc_riscv32/bin/../libexec/gcc/riscv32-unknown-elf/7.3.0/lto-wrapper
Target: riscv32-unknown-elf
Configured with: ../riscv-gcc/configure --prefix=/data/d00434757/tools/riscv32 --target=riscv32-unknown-elf --with-arch=rv32imc --with-abi=ilp32 --disable-__cxa_atexit --disable-libgomp --disable-libmudflap --enable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-multilib --enable-poison-system-directories --enable-languages=c,c++ --with-gnu-as --with-gnu-ld --with-newlib --with-system-zlib CFLAGS='-fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -fPIE' CXXFLAGS='-fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -fPIE' LDFLAGS=-Wl,-z,relro,-z,now,-z,noexecstack 'CXXFLAGS_FOR_TARGET=-Os -mcmodel=medlow -Wall -fstack-protector-strong -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -fno-short-enums -fno-short-wchar' 'CFLAGS_FOR_TARGET=-Os -mcmodel=medlow -Wall -fstack-protector-strong -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -fno-short-enums -fno-short-wchar' --with-headers=/data/d00434757/tools/riscv32/riscv32-unknown-elf/include --with-mpc=/usr/local/mpc-1.1.0 --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-4.0.2
Thread model: single
gcc version 7.3.0 (GCC) 

获取鸿蒙系统源码并烧录到小熊派nano

参考

  1. https://gitee.com/bearpi/bearpi-hm_nano/blob/master/applications/BearPi/BearPi-HM_Nano/docs/quick-start/%E6%BA%90%E7%A0%81%E8%8E%B7%E5%8F%96.md
  2. https://gitee.com/bearpi/bearpi-hm_nano/blob/master/applications/BearPi/BearPi-HM_Nano/docs/quick-start/BearPi-HM_Nano%E5%BC%80%E5%8F%91%E6%9D%BF%E5%A6%82%E4%BD%95%E7%83%A7%E5%BD%95%E7%A8%8B%E5%BA%8F.md
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容