页次: 1
支持支持,如何众筹?搞一块玩玩。
bbb是开源的,别说原理图,PCB图都有,你可以直接拿他的PCB去生产的。
我是无意中咸鱼看到的,小白一枚想学习FPGA,这么便宜的板子就当玩了。30一块,邮费10块,四川居然收12块邮费。。。
到手后,焊UART插针和JTAG插针,没喷锡的焊盘好难焊啊,烙铁开到400度,结果焊半天好不容易焊上了,丑的一逼。
我看有大佬说5V也能启动,结果接下来用USB转TTL的那个5V启动不起来,估计电流不够,虽然我电脑是USB3.0的。换上12V电源。很快就欢唱起来了。
本来想一步一步跟大佬学uboot,kernel,device tree,rootfs,这么来的,但TF卡座还没到。也没有JTAG线。想着学FPGA先忽略这个linux吧,那就能用先。
第一步就是要备份,万一出错了还能还原,根据前面楼层大佬的备份NAND数据和分区的方法,几个NAND分区全备份了。
根据系统启动的信息
9 ofpart partitions found on MTD device pl35x-nand
Creating 9 MTD partitions on "pl35x-nand":
0x000000000000-0x000000300000 : "nand-fsbl-uboot"
0x000000300000-0x000000800000 : "nand-linux"
0x000000800000-0x000000820000 : "nand-device-tree"
0x000000820000-0x000001220000 : "nand-rootfs"
0x000001220000-0x000002220000 : "nand-jffs2"
0x000002220000-0x000002a20000 : "nand-bitstream"
0x000002a20000-0x000006a20000 : "nand-allrootfs"
0x000006a20000-0x000007e00000 : "nand-release"
0x000007e00000-0x000008000000 : "nand-reserve"
一个一个分区的备份吧
zynq-uboot> setenv ipaddr 192.168.5.200
zynq-uboot> setenv serverip 192.168.5.28
zynq-uboot> nand read 0x100000 0x000000 0x300000
NAND read: device 0 offset 0x0, size 0x300000
3145728 bytes read: OK
zynq-uboot> tftpput 0x100000 0x300000 fsbl-uboot
Gem.e000b000:0 is connected to Gem.e000b000. Reconnecting to Gem.e000b000
Gem.e000b000 Waiting for PHY auto negotiation to complete... done
Gem.e000b000----100----4047----
Using Gem.e000b000 device
TFTP to server 192.168.5.28; our IP address is 192.168.5.200
Filename 'fsbl-uboot'.
Save address: 0x100000
Save size: 0x300000
Saving: ################################################################
#################################################################
#################################################################
####################
2.3 MiB/s
done
Bytes transferred = 3145728 (300000 hex)
zynq-uboot> nand read 0x100000 0x300000 0x500000
NAND read: device 0 offset 0x300000, size 0x500000
5242880 bytes read: OK
zynq-uboot> tftpput 0x100000 0x500000 linux
Gem.e000b000:0 is connected to Gem.e000b000. Reconnecting to Gem.e000b000
Gem.e000b000 Waiting for PHY auto negotiation to complete... done
Gem.e000b000----100----4047----
Using Gem.e000b000 device
TFTP to server 192.168.5.28; our IP address is 192.168.5.200
Filename 'linux'.
Save address: 0x100000
Save size: 0x500000
Saving: ################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################
2.1 MiB/s
done
Bytes transferred = 5242880 (500000 hex)
zynq-uboot> nand read 0x100000 0x800000 0x20000
NAND read: device 0 offset 0x800000, size 0x20000
131072 bytes read: OK
zynq-uboot> tftpput 0x100000 0x20000 devicetree.dtb
Gem.e000b000:0 is connected to Gem.e000b000. Reconnecting to Gem.e000b000
Gem.e000b000 Waiting for PHY auto negotiation to complete... done
Gem.e000b000----100----4047----
Using Gem.e000b000 device
TFTP to server 192.168.5.28; our IP address is 192.168.5.200
Filename 'devicetree.dtb'.
Save address: 0x100000
Save size: 0x20000
Saving: ########
2 MiB/s
done
Bytes transferred = 131072 (20000 hex)
大概是这样把9个分区全部备份好了
第二步就想着有现成的系统,破解下口令,然后把挖矿的程序停了不就可以开搞了吗?
其实linux系统root口令很好破,只要你拿到文件系统了。直接把/etc/passwd 里面root对应的加密密码字段删掉就可以了,再启动输入root就会自动进入系统不会让你输入密码了。
我们备份的额9个分区内容中,密码就在0x000002a20000-0x000006a20000 : "nand-allrootfs" 这个分区里面,具体挂载这个文件系统的方法我参考了
https://www.cnblogs.com/findumars/p/5869608.html
https://blog.csdn.net/long0801/article/details/77368205
两篇文章,挂载好后,直接编辑etc/passwd,修改成下面这样.
root::0:0:root:/home/root:/bin/sh
然后顺便把挖矿的控制程序关掉吧
mv etc/rcS.d/S95cgminer.sh home/root/
注意,操作的时候是在allrootfs的挂载点下操作,不要操作到宿主机的文件了。
然后按照参考的那两篇文章中方法重新打包,我的命令是:
mkfs.jffs2 -r /tmp/aa/ -o allrootfs.new -e 0x20000 --pad=0x4000000 -n -l
/tmp/aa 是我的allrootfs挂载点,allrootfs.new是新生成的分区文件 ,其余参数照做应该没问题。
第三部就是把改好的系统文件烧回nand去。
zynq-uboot> tftpboot 0x100000 allrootfs.new
zynq-uboot> nand erase 0x2a20000 0x4000000
zynq-uboot> nand write 0x100000 0x2a20000 0x4000000
这样写完就可以愉快的重启了。登录的时候直接输入root就进系统了。接下来要玩FPGA就方便了。不过我以后还是想从头编译刷机刷一刷。
页次: 1