页次: 1
谢谢,我看看去某创打样要多少钱。
某创打样 2元/件,邮费至少要 6 元。。还是算了。
谢谢,我看看去某创打样要多少钱。
@zjzixuan 你可以拆开看看,屏幕是否和我的一样,有个 35to24 的板子。如果一样可以试试下面这个包是否能驱动屏:
https://github.com/kendling/my_bin_file/releases/download/v1.0/fc3000_ips_od_jutleys_no_roms.img.7z
@kendling
我新買的IPS FC3000是V2版本,然後測試下你的fc3000_ips_od_jutleys_no_roms.img.7z,發現進入OD後,背光跟聲音都有,但是,屏沒有顯示~@zjzixuan
感謝你的好意,目前不需要~
@司徒 那就是屏幕初始化资料不同了,你那个 IPS 屏有点像旧的 TN 屏。你确定可视角度是 IPS ? 我看了你的 IPS 版拆机页面没有拍可视角度。
@zjzixuan 感謝你的好意,就目前的情况来看:就算新买一部 IPS ,屏幕也未必和你手上的一致。如果屏幕不一样,重新抓屏幕初始化资料还是不能适配你手上的那部 FC3000 。
感谢 @司徒 大神的细心指导,我对比了一下 jutleys 包的 rootfs 作了一些修改,已经完成替换自己的 rootfs 启动进入 GMenu2X 了。
构建 rootfs 方法如下:
1. 下载 buildroot-2018.02.9 版本代码。
2. 解压后使用 devel.zip 里面的 config_buildroot-2018.02.9 文件替换 .config 文件。
3. 运行 make menuconfig 并打开 [Filesystem images->squashfs root filesystem] 。
4. 运行 make 命令构建 rootfs ,如果报错请搜索解决,或参考我之前发的错误解决办法。
5. 删除 output/images 目录里所有文件。
6. 新建 output/target/boot 目录。
7. 把 output/target/etc/init.d 目录所有文件移至 output/target/etc/init.d/disabled 。
8. 把 devel.zip 里面的 main 文件复制到 output/target/etc 目录并给执行权限。
9. 修改 output/target/etc/inittab 为下面的内容。
10. 运行 make 命令构建 rootfs ,把 output/images/rootfs.squashfs 文件替换 SD 卡 FC3000 分区里的 rootfs 文件。
inittab 文件:
# /etc/inittab
#
# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
#
# Note: BusyBox init doesn't support runlevels. The runlevels field is
# completely ignored by BusyBox init. If you want runlevels, use
# sysvinit.
#
# Format for each entry: <id>:<runlevels>:<action>:<process>
#
# id == tty to run on, or empty for /dev/console
# runlevels == ignored
# action == one of sysinit, respawn, askfirst, wait, and once
# process == program to run
# Startup the system
::sysinit:/bin/mount -t proc proc /proc
::sysinit:/bin/mount -o remount,ro /
::sysinit:/bin/mkdir -p /dev/pts
::sysinit:/bin/mkdir -p /dev/shm
::sysinit:/bin/mount -a
::sysinit:/bin/hostname -F /etc/hostname
::sysinit:/bin/mount /dev/mmcblk0p2 /mnt -t vfat -o rw,sync,utf8
::sysinit:/sbin/swapon /mnt/.swap.img
# now run any rc scripts
#::sysinit:/etc/init.d/rcS
tty1::respawn:/etc/main
# Put a getty on the serial port
console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL
# Stuff to do for the 3-finger salute
#::ctrlaltdel:/sbin/reboot
# Stuff to do before rebooting
#::shutdown:/etc/init.d/rcK
::shutdown:/sbin/swapoff -a
::shutdown:/bin/umount -a -r
開啟 mininit debug level
16 #define dbg(...) LOG("<14>", __VA_ARGS__) 17 //#define dbg(...)
重新編譯,替換後, 你應該就可以知道原因~
原因找到了, rootfs 缺少 boot 目录,去 buildroot 新建这个目录重新打包就可以了。
但是出现了 dbus 的错误:
[ 0.860000] This architecture does not have kernel memory protection.
[ 0.890000] mininit: mininit 2.0.2
[ 0.900000] mininit: free loop device: 0
[ 0.910000] mininit: setting up loop: 'rootfs' via '/dev/loop0'
[ 0.920000] mininit: mounting 'rootfs' on '/root'
[ 0.960000] mininit: rootfs mounted on /root
[ 0.970000] mininit: moving '/dev' mount
[ 0.990000] mininit: root switch done
[ 1.000000] mininit: init: /sbin/init
[ 1.010000] mininit: starting /sbin/init
Starting logging: OK
read-only file system detected...done
Starting system message bus: dbus-daemon[47]: Failed to start message bus: Failed to open socket: Function not implemented
done
Starting network: ip: socket: Function not implemented
ip: socket: Function not implemented
FAIL
Welcome to Miyoo
miyoo login:
https://blog.csdn.net/chuanzhilong/article/details/52901973
我搜索到上面这个地址,里面说是 gcc 版本的问题导致了 未定义的指令。
@司徒 我把 kernel 改成 uart0 可以看到 console 了,也可以正常使用 root 登录。
BTW:我开始把 uboot 也改成 uart0 ,启动不了,uboot 改回 uart1 才可以启动。
换成我的 rootfs 就报错了。
[ 0.680000] Waiting for root device /dev/mmcblk0p1...
[ 0.740000] mmc0: host does not support reading read-only switch, assuming write-enable
[ 0.760000] mmc0: new high speed SDHC card at address aaaa
[ 0.770000] mmcblk0: mmc0:aaaa SC32G 29.7 GiB
[ 0.790000] mmcblk0: p1 p2
[ 0.830000] VFS: Mounted root (vfat filesystem) readonly on device 179:1.
[ 0.850000] devtmpfs: mounted
[ 0.850000] Freeing unused kernel memory: 112K
[ 0.860000] This architecture does not have kernel memory protection.
[ 0.930000] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000ff00
[ 0.930000]
[ 0.930000] CPU: 0 PID: 1 Comm: mininit Not tainted 4.14.0-vegan+ #73
[ 0.930000] Hardware name: Allwinner suniv Family
[ 0.930000] Backtrace:
[ 0.930000] [<c000e244>] (dump_backtrace) from [<c000e560>] (show_stack+0x18/0x1c)
[ 0.930000] r7:c181bf60 r6:00000000 r5:c0316090 r4:00000000
[ 0.930000] [<c000e548>] (show_stack) from [<c023d728>] (dump_stack+0x20/0x28)
[ 0.930000] [<c023d708>] (dump_stack) from [<c00178d0>] (panic+0xbc/0x234)
[ 0.930000] [<c0017818>] (panic) from [<c0019134>] (do_exit+0x874/0x8a8)
[ 0.930000] r3:c181fda0 r2:c181fdac r1:0000ff00 r0:c02a1cdc
[ 0.930000] r7:c181bf60
[ 0.930000] [<c00188c0>] (do_exit) from [<c0019d28>] (do_group_exit+0x44/0xbc)
[ 0.930000] r7:000000f8
[ 0.930000] [<c0019ce4>] (do_group_exit) from [<c0019db8>] (SyS_exit_group+0x18/0x1c)
[ 0.930000] r5:0002e000 r4:0002e23c
[ 0.930000] [<c0019da0>] (SyS_exit_group) from [<c000a5c0>] (ret_fast_syscall+0x0/0x3c)
[ 0.930000] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000ff00
[ 0.930000]
上面那个是 jetleys 的 rootfs 输出的信息。
下面这个是换了我编译的 rootfs ,输出也是到这里停了。输出的信息一样,但就是我的 rootfs 一直黑屏,喇叭也没有声音。
F1C200S SPL Loader
DRAM:156 MHz, 32 MB
Boot: MMC1
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.14.0-vegan+ (kend@kendnb) (gcc version 10.2.1 20210110 (Debian 10.2.1-6)) #71 Mon Mar 14 13:42:45 CST 2022
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] OF: fdt: Machine model: allwinner suniv handheld
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] random: fast init done
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 8128
[ 0.000000] Kernel command line: rootwait root=/dev/mmcblk0p1 ro fstype=vfat init=/mininit -- fc3000ips
[ 0.000000] suniv model: fc3000ips
[ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
[ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Memory: 29064K/32768K available (2355K kernel code, 103K rwdata, 540K rodata, 112K init, 188K bss, 3704K reserved, 0K cma-reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xc2800000 - 0xff800000 ( 976 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc2000000 ( 32 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0255250 (2357 kB)
[ 0.000000] .init : 0xc02de000 - 0xc02fa000 ( 112 kB)
[ 0.000000] .data : 0xc02fa000 - 0xc0313d00 ( 104 kB)
[ 0.000000] .bss : 0xc0315e90 - 0xc034500c ( 189 kB)
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] console [tty0] enabled
[ 0.070000] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[ 0.070000] pid_max: default: 32768 minimum: 301
[ 0.070000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.070000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.070000] CPU: Testing write buffer coherency: ok
[ 0.070000] Setting up static identity map for 0x80008400 - 0x8000843c
[ 0.070000] devtmpfs: initialized
[ 0.070000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.070000] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.080000] pinctrl core: initialized pinctrl subsystem
[ 0.080000] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.090000] SCSI subsystem initialized
[ 0.090000] Advanced Linux Sound Architecture Driver Initialized.
[ 0.090000] clocksource: Switched to clocksource timer
[ 0.110000] workingset: timestamp_bits=30 max_order=13 bucket_order=0
[ 0.110000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.110000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[ 0.110000] io scheduler noop registered
[ 0.110000] io scheduler deadline registered
[ 0.110000] io scheduler cfq registered (default)
[ 0.110000] io scheduler mq-deadline registered
[ 0.110000] io scheduler kyber registered
[ 0.120000] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.130000] do_gpio_request, invalid gpio pin
[ 0.130000] pwm-backlight backlight: backlight supply power not found, using dummy regulator
[ 0.170000] Console: switching to colour frame buffer device 40x30
[ 0.180000] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[ 0.200000] 1c25400.serial: ttyS1 at MMIO 0x1c25400 (irq = 23, base_baud = 6250000) is a 16550A
[ 0.500000] console [ttyS1] enabled
[ 0.510000] loop: module loaded
[ 0.520000] SCSI Media Changer driver v0.25
输出只有这些,后面运行游戏就没有输出了。
F1C200S SPL Loader
DRAM:156 MHz, 32 MB
Boot: MMC1
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.14.0-vegan+ (kend@kendnb) (gcc version 10.2.1 20210110 (Debian 10.2.1-6)) #71 Mon Mar 14 13:42:45 CST 2022
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] OF: fdt: Machine model: allwinner suniv handheld
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] random: fast init done
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 8128
[ 0.000000] Kernel command line: rootwait root=/dev/mmcblk0p1 ro fstype=vfat init=/mininit -- fc3000ips
[ 0.000000] suniv model: fc3000ips
[ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
[ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Memory: 29064K/32768K available (2355K kernel code, 103K rwdata, 540K rodata, 112K init, 188K bss, 3704K reserved, 0K cma-reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xc2800000 - 0xff800000 ( 976 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc2000000 ( 32 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0255250 (2357 kB)
[ 0.000000] .init : 0xc02de000 - 0xc02fa000 ( 112 kB)
[ 0.000000] .data : 0xc02fa000 - 0xc0313d00 ( 104 kB)
[ 0.000000] .bss : 0xc0315e90 - 0xc034500c ( 189 kB)
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] console [tty0] enabled
[ 0.070000] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[ 0.070000] pid_max: default: 32768 minimum: 301
[ 0.070000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.070000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.070000] CPU: Testing write buffer coherency: ok
[ 0.070000] Setting up static identity map for 0x80008400 - 0x8000843c
[ 0.070000] devtmpfs: initialized
[ 0.070000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.070000] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.080000] pinctrl core: initialized pinctrl subsystem
[ 0.080000] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.090000] SCSI subsystem initialized
[ 0.090000] Advanced Linux Sound Architecture Driver Initialized.
[ 0.090000] clocksource: Switched to clocksource timer
[ 0.110000] workingset: timestamp_bits=30 max_order=13 bucket_order=0
[ 0.110000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.110000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[ 0.110000] io scheduler noop registered
[ 0.110000] io scheduler deadline registered
[ 0.110000] io scheduler cfq registered (default)
[ 0.110000] io scheduler mq-deadline registered
[ 0.110000] io scheduler kyber registered
[ 0.120000] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.130000] do_gpio_request, invalid gpio pin
[ 0.130000] pwm-backlight backlight: backlight supply power not found, using dummy regulator
[ 0.170000] Console: switching to colour frame buffer device 40x30
[ 0.180000] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[ 0.200000] 1c25400.serial: ttyS1 at MMIO 0x1c25400 (irq = 23, base_baud = 6250000) is a 16550A
[ 0.500000] console [ttyS1] enabled
[ 0.510000] loop: module loaded
[ 0.520000] SCSI Media Changer driver v0.25
@kendling
不知道你是否可以提供一個MicroSD鏡像IMG燒錄檔案(沒有包含ROMS)給我,我想給Dingoonity玩家測試一下~感謝
https://github.com/kendling/my_bin_file/releases/download/v1.0/fc3000_ips_od_jutleys_no_roms.img.7z
預設rootfs不包含GMenu2X,我已经是使用miyoo的rootfs配置檔案,你可以參可:https://github.com/steward-fu/miyoo
我已经是使用 miyoo 的配置档案,编译出来的 rootfs 只有 25.8 MB ,jutleys 包的 rootfs 有 48.5 MB 。
大小差太多了。
@司徒 今天午休的时候我制作了一个 fc3000ips 的 kernel 代码补丁。
@司徒 我成功点亮 IPS 屏的代码在这里,我是把你的点屏代码改了初始化部分:
ips_lcd_init.7z
编译烧写到 SD 卡后,启动的时候看到是花屏的,然后从上到下刷新整个屏幕,不知道有没有异常的地方。
@司徒 我分析出来是这个初始化资料,不知道对不对。
HEX RS WR
3800 0 1
0 1 0
0 1 1
800 0 0
800 0 1
100 1 0
100 1 1
1000 0 0
1000 0 1
0 1 0
0 1 1
1800 0 0
1800 0 1
C022 1 0
C022 1 1
2000 0 0
2000 0 1
0 1 0
0 1 1
4000 0 0
4000 0 1
1200 1 0
1200 1 1
4800 0 0
4800 0 1
0 1 0
0 1 1
5000 0 0
5000 0 1
4000 1 0
4000 1 1
6000 0 0
6000 0 1
0 1 0
0 1 1
6800 0 0
6800 0 1
0 1 0
0 1 1
7000 0 0
7000 0 1
8020 1 0
8020 1 1
7800 0 0
7800 0 1
0 1 0
0 1 1
8000 0 0
8000 0 1
0 1 0
0 1 1
8800 0 0
8800 0 1
3800 1 0
3800 1 1
9000 0 0
9000 0 1
0 1 0
0 1 1
9800 0 0
9800 0 1
0 1 0
0 1 1
8000 0 0
8000 0 1
8720 1 0
8720 1 1
8800 0 0
8800 0 1
B920 1 0
B920 1 1
9000 0 0
9000 0 1
C1A0 1 0
C1A0 1 1
9800 0 0
9800 0 1
402 1 0
402 1 1
4820 0 0
4820 0 1
4000 1 0
4000 1 1
4020 0 0
4020 0 1
6800 1 0
6800 1 1
5020 0 0
5020 0 1
80 1 0
80 1 1
20 0 0
20 0 1
78E0 1 0
78E0 1 1
820 0 0
820 0 1
0 1 0
0 1 1
8020 0 0
8020 0 1
3F00 1 0
3F00 1 1
8820 0 0
8820 0 1
3800 1 0
3800 1 1
9020 0 0
9020 0 1
1E00 1 0
1E00 1 1
9820 0 0
9820 0 1
700 1 0
700 1 1
A020 0 0
A020 0 1
1200 1 0
1200 1 1
A820 0 0
A820 0 1
1000 1 0
1000 1 1
B020 0 0
B020 0 1
7F03 1 0
7F03 1 1
B820 0 0
B820 0 1
3F00 1 0
3F00 1 1
C020 0 0
C020 0 1
0 1 0
0 1 1
C820 0 0
C820 0 1
0 1 0
0 1 1
D020 0 0
D020 0 1
3F00 1 0
3F00 1 1
D820 0 0
D820 0 1
0 1 0
0 1 1
E020 0 0
E020 0 1
3800 1 0
3800 1 1
E820 0 0
E820 0 1
0 1 0
0 1 1
8040 0 0
8040 0 1
0 1 0
0 1 1
8840 0 0
8840 0 1
78E0 1 0
78E0 1 1
9040 0 0
9040 0 1
0 1 0
0 1 1
9840 0 0
9840 0 1
F920 1 0
F920 1 1
60 0 0
60 0 1
704 1 0
704 1 1
860 0 0
860 0 1
0 1 0
0 1 1
5060 0 0
5060 0 1
0 1 0
0 1 1
80 0 0
80 0 1
0 1 0
0 1 1
880 0 0
880 0 1
0 1 0
0 1 1
1080 0 0
1080 0 1
0 1 0
0 1 1
1880 0 0
1880 0 1
0 1 0
0 1 1
2080 0 0
2080 0 1
0 1 0
0 1 1
2880 0 0
2880 0 1
0 1 0
0 1 1
8080 0 0
8080 0 1
8000 1 0
8000 1 1
9080 0 0
9080 0 1
0 1 0
0 1 1
9880 0 0
9880 0 1
1800 1 0
1800 1 1
A880 0 0
A880 0 1
8100 1 0
8100 1 1
B880 0 0
B880 0 1
0 1 0
0 1 1
C080 0 0
C080 0 1
0 1 0
0 1 1
3800 0 0
3800 0 1
820 1 0
820 1 1
3800 0 0
3800 0 1
860 1 0
860 1 1
3800 0 0
3800 0 1
9960 1 0
9960 1 1
1800 0 0
1800 0 1
4020 1 0
4020 1 1
8040 0 0
8040 0 1
0 1 0
0 1 1
8840 0 0
8840 0 1
78E0 1 0
78E0 1 1
9040 0 0
9040 0 1
0 1 0
0 1 1
9840 0 0
9840 0 1
F920 1 0
F920 1 1
20 0 0
20 0 1
78E0 1 0
78E0 1 1
820 0 0
820 0 1
0 1 0
0 1 1
1020 0 0
1020 0 1
1020 1 1
0 1 1
我把采样时长调整到 2 秒,导致的 CSV 就小很多了。
我把 PulseView 保存的档案打包上来了。
kendling 说:https://whycan.com/files/members/8656/2022-03-09_13-33.png
画了个板专门用来做逻辑分析,这样就不用刮焊点了。
我画之前去找过,都是转 24P 2.54MM ,用了它就接不了屏,除非再用面包板转接。
@司徒
gcc 10 的问题已经解决了,最后是使用 miyoo 的工具链出问题了:
ERROR:root:code for hash md5 was not found.
Traceback (most recent call last):
File "/opt/miyoo/lib/python2.7/hashlib.py", line 147, in <module>
globals()[__func_name] = __get_hash(__func_name)
File "/opt/miyoo/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type md5
这部分要怎么解决?我转外部工具链试试。
@司徒
大神,我在走 FC3000 的编译流程。遇到些问题:
环境:
系统:Debian 11
GCC:gcc 10.2
toolchain:toolchain.7z 解压到 ./opt/miyoo
GCC-ARM: sudo apt install 'gcc-arm-*'
PATH:export PATH=$PATH:/opt/miyoo/bin
1. Kernel
在执行 ./run.sh fc3000 命令之后报以下错误:
/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
我在 https://blog.csdn.net/qq_36393978/article/details/117695708 找到解决方法。
修改 scripts/dtc/dtc-lexer.lex.c_shipped 文件,把 YYLTYPE yylloc; 一行改成 extern YYLTYPE yylloc; (在前面增加 extern)。
改后顺利编译完成。
2. UBoot
A) 我看到 UBoot 里的 run.sh 文件调用了 bin2header 命令,apt 仓库和 toolchain.7z 都找不到这个程序。
我在 https://github.com/spacerace/bin2header.git 仓库找到了匹配 run.sh 文件里调用方法的源代码编译了一个。
B) UBoot 也有 multiple definition of `yylloc'; 的问题,修改方法同上。
C)
Error: arch/arm/dts/.suniv-f1c100s-licheepi-nano.dtb.pre.tmp:45.1-10 syntax error
FATAL ERROR: Unable to parse input tree
这次在 https://blog.csdn.net/wanpengpenga/article/details/122313358 找到解决方法。
修改 scripts/Makefile.lib 文件的 321 行,
(cat $<; $(if $(u_boot_dtsi),echo '\#include "$(u_boot_dtsi)"')) > $(pre-tmp); \
把 echo 后面的 \# 改成 #
D)
ERROR:root:code for hash md5 was not found.
Traceback (most recent call last):
File "/opt/miyoo/lib/python2.7/hashlib.py", line 147, in <module>
globals()[__func_name] = __get_hash(__func_name)
File "/opt/miyoo/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type md5
ERROR:root:code for hash sha1 was not found.
Traceback (most recent call last):
File "/opt/miyoo/lib/python2.7/hashlib.py", line 147, in <module>
globals()[__func_name] = __get_hash(__func_name)
File "/opt/miyoo/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha1
ERROR:root:code for hash sha224 was not found.
Traceback (most recent call last):
File "/opt/miyoo/lib/python2.7/hashlib.py", line 147, in <module>
globals()[__func_name] = __get_hash(__func_name)
File "/opt/miyoo/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha224
ERROR:root:code for hash sha256 was not found.
Traceback (most recent call last):
File "/opt/miyoo/lib/python2.7/hashlib.py", line 147, in <module>
globals()[__func_name] = __get_hash(__func_name)
File "/opt/miyoo/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha256
ERROR:root:code for hash sha384 was not found.
Traceback (most recent call last):
File "/opt/miyoo/lib/python2.7/hashlib.py", line 147, in <module>
globals()[__func_name] = __get_hash(__func_name)
File "/opt/miyoo/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha384
ERROR:root:code for hash sha512 was not found.
Traceback (most recent call last):
File "/opt/miyoo/lib/python2.7/hashlib.py", line 147, in <module>
globals()[__func_name] = __get_hash(__func_name)
File "/opt/miyoo/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha512
这个网上搜了一下,貌似是 miyoo 工具链的 Python 没有链接 OpenSSL 的问题。
大神,这是需要更新工具链还是说可以修改一下调用系统的 Python 环境?
另外: run.sh 脚本里的 make 命令的参数 -j4 改成 -j 可以让 make 程序自动适配 CPU 核心数。
页次: 1