kernel 6.5.4
이미지를 이용하여 비글본 블랙보드를 출시하고 싶습니다 . 그래서 SDCard(8GB)를 가져와서 포맷하고 다음을 사용하여 2개의 파티션으로 분할했습니다.갈라진우분투의 응용 프로그램. 다음 부팅 파일을 SDCard의 BOOT 파티션에 복사했습니다.
- am335x-boneblack.dtb
- 마일로
- u-boot.img
- uEnv.txt
- uimage
kernel 6.5.4
오류 없이 빌드 할 수 있었고 uImage 및 zImage 커널 이미지를 얻었습니다. 하지만 SDCard에서 내 보드를 부팅하기 위해 rootfs를 생성할 수 없습니다. 나는 다음을 사용하여 다운로드했습니다.뼈-debian-9.9-lxqt-armhf-2019-08-03-4gb.img.xz~에서
데비안 9.9 2019-08-03 4GB SD LXQT - 비글보드
먼저 압축을 풀어주세요
unxz bone-debian-9.9-lxqt-armhf-2019-08-03-4gb.img
이는 우리에게뼈-debian-9.9-lxqt-armhf-2019-08-03-4gb.img문서
마우스 오른쪽 버튼을 클릭하고 "Disk Image Mounter"를 열어서 마운트합니다.
홈페이지/waageesh/rootfs
그 후 /home/waageesh/rootfs (비글본 블랙 이미지 파일에서 추출한 rootfs)의 모든 내용을 /home/waageesh/ROOTFS (SDCard에서 생성된 파티션, BBB에서 부팅할 때 rootfs를 커널로 복사)에 복사했습니다.
이제 SDCard에서 BBB 보드를 부팅해 보십시오.
SDCard에서 로드할 때 커널 패닉이 발생하고 중단됩니다. 이제 동일한 커널 버전에 대한 커널 모듈을 구축 중이며 SDCard에 있는 rootfs 파티션의 /lib/modules/6.5.4에 이러한 .ko 모듈을 설치하여 ARM 아키텍처를 교차 확인하려고 합니다.
Debian GNU/Linux 9 beaglebone ttyS0
BeagleBoard.org Debian Image 2019-08-03
Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian
default username:password is [debian:temppwd]
beaglebone login: debian
[ 403.045819] 8<--- cut here ---
[ 403.048935] Unable to handle kernel paging request at virtual address 2d333150 when read
[ 403.057130] [2d333150] *pgd=00000000
[ 403.060746] Internal error: Oops: 5 [#2] SMP ARM
[ 403.065390] Modules linked in: snd_soc_hdmi_codec evdev iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 snd_soc_simple_card iptable_man4
[ 403.132385] CPU: 0 PID: 50 Comm: kworker/0:17 Tainted: G D 6.5.4 #1
[ 403.140082] Hardware name: Generic AM33XX (Flattened Device Tree)
[ 403.146210] Workqueue: 0x0 (events)
[ 403.149823] PC is at __kmem_cache_alloc_node+0xbc/0x4dc
[ 403.155093] LR is at 0xe03e9e58
[ 403.158249] pc : [<c02f08d8>] lr : [<e03e9e58>] psr: a0010013
[ 403.164543] sp : e03e9e58 ip : e03e9f28 fp : 0000cc52
[ 403.169791] r10: 00000000 r9 : c1005694 r8 : 00000cc0
[ 403.175038] r7 : c1134598 r6 : 2d333130 r5 : 00000000 r4 : c1801100
[ 403.181595] r3 : 00000020 r2 : df93bb38 r1 : 0000cc51 r0 : 1e9b4000
[ 403.188153] Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 403.195324] Control: 10c5387d Table: 82ebc019 DAC: 00000051
[ 403.201093] Register r0 information: non-paged memory
[ 403.206175] Register r1 information: non-paged memory
[ 403.211252] Register r2 information: non-slab/vmalloc memory
[ 403.216944] Register r3 information: non-paged memory
[ 403.222021] Register r4 information: slab kmem_cache start c1801100 pointer offset 0 size 124
[ 403.230614] Register r5 information: NULL pointer
[ 403.235343] Register r6 information: non-paged memory
[ 403.240420] Register r7 information: non-slab/vmalloc memory
[ 403.246109] Register r8 information: non-paged memory
[ 403.251185] Register r9 information: non-slab/vmalloc memory
[ 403.256872] Register r10 information: NULL pointer
[ 403.261687] Register r11 information: non-paged memory
[ 403.266851] Register r12 information: 2-page vmalloc region starting at 0xe03e8000 allocated at kernel_clone+0xa4/0x3ac
[ 403.277713] Process kworker/0:17 (pid: 50, stack limit = 0x2dc970a1)
[ 403.284101] Stack: (0xe03e9e58 to 0xe03ea000)
[ 403.288480] 9e40: ffffffff 00000000
[ 403.296697] 9e60: 00000000 00000cc0 00000020 ffffffff 00000000 df938800 00000000 00000020
[ 403.304914] 9e80: c015b888 c1801100 00000cc0 00000000 00000000 c02a7e88 c015b888 ffff0a00
[ 403.313131] 9ea0: 00000dc0 c0d73fdb ffffff04 df938800 00000000 c2f1c780 c0d73fe8 c0156bd0
[ 403.321348] 9ec0: c1003d40 00000000 00000000 c015b888 00000000 00000000 e03e9ed8 e03e9ed8
[ 403.329565] 9ee0: ffff0a00 6c427dcb df938800 c2f1c780 00000000 df938988 c1fd0000 df938820
[ 403.337781] 9f00: df93885c c015b9d4 e03e9f28 c0aee730 e03e9f28 6c427dcb df93885c df938800
[ 403.345998] 9f20: c01539f8 c0d73fe8 e03e9f34 c0d7f5c8 00002843 00303a30 00000000 00000000
[ 403.354214] 9f40: 00000000 6c427dcb df938800 c1ff4b80 df938800 df938820 df938800 c0156ee4
[ 403.362432] 9f60: c1ff4b80 00000000 e03e5ed0 c1ff5a40 c1ff5dc0 c0156bd0 c1ff4b80 c1fd0000
[ 403.370649] 9f80: e03e5ed0 00000000 00000000 c015d3e8 c1ff5a40 c015d310 00000000 00000000
[ 403.378865] 9fa0: 00000000 00000000 00000000 c0100174 00000000 00000000 00000000 00000000
[ 403.387082] 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 403.395298] 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[ 403.403520] __kmem_cache_alloc_node from kmalloc_trace+0x28/0xb4
[ 403.409668] kmalloc_trace from __kthread_create_on_node+0x54/0x170
[ 403.415995] __kthread_create_on_node from kthread_create_on_node+0x30/0x60
[ 403.423008] kthread_create_on_node from create_worker+0xb8/0x254
[ 403.429144] create_worker from worker_thread+0x314/0x504
[ 403.434578] worker_thread from kthread+0xd8/0xf8
[ 403.439315] kthread from ret_from_fork+0x14/0x20
[ 403.444048] Exception stack(0xe03e9fb0 to 0xe03e9ff8)
[ 403.449125] 9fa0: 00000000 00000000 00000000 00000000
[ 403.457341] 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 403.465556] 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 403.472207] Code: e3560000 13530000 0a0000b2 e594301c (e796c003)
[ 403.478435] ---[ end trace 0000000000000000 ]---
uImage(커널 6.5.4) + rootfs(4.14.108-ti-r113) -> 커널이 로드되지 않음
uImage(커널 6.5.4) + rootfs(4.19.94-ti-r42) -> 커널이 로드되지만 오류로 인해 충돌이 발생합니다.SDCard를 고속 모드로 변경할 수 없습니다.&hang 커널 패닉 오류
내 의심은... 커널 버전을 기반으로 rootfs를 구축해야 합니까, 아니면 커널 부팅에 rootfs를 사용할 수 있습니까? (언급했듯이 이것은 나에게 효과가 없었습니다)
다음으로 다시 시도해 보세요.buildroot-2021.02.1Linux 호환 rootfs 를 생성합니다 kernel 6.5.4
.
buildroot를 사용하여 동일한 버전으로 rootfs + 커널을 빌드하려고 시도했지만 결국 다음 오류가 다시 발생했습니다.
>>> Executing post-image script support/scripts/genimage.sh
board/beaglebone/genimage.cfg:30: no sub-section title/index for 'config'
INFO: cmd: "mkdir -p "/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/build/genimage.tmp"" (stderr):
INFO: cmd: "rm -rf "/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/build/genimage.tmp"/*" (stderr):
INFO: cmd: "mkdir -p "/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/build/genimage.tmp"" (stderr):
INFO: cmd: "cp -a "/tmp/tmp.BK4lPFymRs" "/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/build/genimage.tmp/root"" (stderr):
INFO: cmd: "find '/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/build/genimage.tmp/root' -depth -type d -printf '%P\0' | xargs -0 -I {} touch -r '/tmp/tmp.BK4lPFymRs/{}' '/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/build/genimage.tmp/root/{}'" (stderr):
INFO: cmd: "mkdir -p "/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/images"" (stderr):
INFO: vfat(boot.vfat): cmd: "dd if=/dev/zero of="/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/images/boot.vfat" seek=16777216 count=0 bs=1 2>/dev/null" (stderr):
INFO: vfat(boot.vfat): cmd: "mkdosfs '/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/images/boot.vfat'" (stderr):
INFO: vfat(boot.vfat): adding file 'MLO' as 'MLO' ...
INFO: vfat(boot.vfat): cmd: "MTOOLS_SKIP_CHECK=1 mcopy -bsp -i '/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/images/boot.vfat' '/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/images/MLO' '::'" (stderr):
INFO: vfat(boot.vfat): adding file 'u-boot.img' as 'u-boot.img' ...
INFO: vfat(boot.vfat): cmd: "MTOOLS_SKIP_CHECK=1 mcopy -bsp -i '/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/images/boot.vfat' '/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/images/u-boot.img' '::'" (stderr):
INFO: vfat(boot.vfat): adding file 'zImage' as 'zImage' ...
INFO: vfat(boot.vfat): cmd: "MTOOLS_SKIP_CHECK=1 mcopy -bsp -i '/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/images/boot.vfat' '/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/images/zImage' '::'" (stderr):
INFO: vfat(boot.vfat): adding file 'uEnv.txt' as 'uEnv.txt' ...
INFO: vfat(boot.vfat): cmd: "MTOOLS_SKIP_CHECK=1 mcopy -bsp -i '/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/images/boot.vfat' '/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/images/uEnv.txt' '::'" (stderr):
INFO: vfat(boot.vfat): adding file 'am335x-boneblack.dtb' as 'am335x-boneblack.dtb' ...
INFO: vfat(boot.vfat): cmd: "MTOOLS_SKIP_CHECK=1 mcopy -bsp -i '/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/images/boot.vfat' '/home/waageesh/embedded/ELARM/EOS/buildroot-2021.02.1/output/images/am335x-boneblack.dtb' '::'" (stderr):
INFO: hdimage(sdcard.img): adding partition 'u-boot' (in MBR) from 'boot.vfat' ...
INFO: hdimage(sdcard.img): adding partition 'rootfs' (in MBR) from 'rootfs.ext4' ...
INFO: hdimage(sdcard.img): writing MBR
그래서 나는 막히고 혼란스러워졌습니다.
나는 단지 내가 원하는 특정 버전의 커널을 빌드하고 싶고 해당 사용자 정의 커널에서 rootfs를 생성할 수 있어야 합니다.
내가 놓치고 있는 것이 정확히 무엇이고 우리가 원하는 커널 버전에 대해 rootfs를 빌드하는 올바른 방법은 무엇입니까?