AT91SAM9X5EK移植linux4sam6.1包,buildroot制作ubifs挂载成功,执行/sbin/init时提示init (1): undefined instruction

AT91Bootstrap 3.8.13 (Thu Oct 17 17:21:19 CST 2019)

1-Wire: Loading 1-Wire information …
1-Wire: ROM Searching … Done, 0 1-Wire chips found

WARNING: 1-Wire: No 1-Wire chip found

1-Wire: Using default information

1-Wire: Board sn: 0x4010425 revision: 0x8421

NAND: ONFI flash detected
chip->numblocks = 0x800
chip->blocksize = 0x40000
chip->pagesize = 0x1000
chip->oobsize = 224
chip->buswidth = 0
chip->eccbits = 8
chip->eccwordsize = 512
NAND: Manufacturer ID: 0x2c Chip ID: 0xdc
NAND: Page Bytes: 4096, Spare Bytes: 224
NAND: ECC Correctability Bits: 8, ECC Sector Bytes: 512
NAND: Initialize PMECC params, cap: 8, sector: 512
NAND: Image: Copy 0xc0000 bytes from 0x40000 to 0x22f00000
NAND: Done to load image
<debug_uart>

Uboot-2019.04-linux4sam_6.1, for N Version: v1.0 2019-10-17

U-Boot code: 22F00000 -> 22F968B4 BSS: -> 22F9E864
CPU: AT91SAM9G25
Crystal frequency: 12 MHz
CPU clock : 400 MHz
Master clock : 133.333 MHz
Model: Atmel AT91SAM9G25-EK
DRAM: Monitor len: 0009E864
Ram size: 08000000
Ram top: 28000000
TLB table from 27ff0000 to 27ff4000
Reserving 634k for U-Boot at: 27f51000
Reserving 516k for malloc() at: 27ed0000
Reserving 80 Bytes for Board Info at: 27ecffb0
Reserving 232 Bytes for Global Data at: 27ecfec8
Reserving 30368 Bytes for FDT at: 27ec8828

RAM Configuration:
Bank #0: 20000000
DRAM: 128 MiB
New Stack Pointer is: 27ec8800
Relocation Offset is: 05051000
Relocating to 27f51000, new gd at 27ecfec8, sp at 27ec8800
Pre-reloc malloc() used 0x3f8 bytes (0 KB)
Now running in RAM - U-Boot at: 27f51000
NAND: nand_base: device found, Manufacturer ID: 0x2c, Chip ID: 0xdc
nand_base: Micron NAND 512MiB 3,3V 8-bit
nand_base: Micron NAND 512MiB 3,3V 8-bit
nand_base: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB size: 224
512 MiB
Loading Environment from NAND…
Scanning device for bad blocks
Destroy Hash Table: 27fe4ec0 table = 00000000
Create Hash Table: N=512
INSERT: table 27fe4ec0, filled 1/521 rv 27f3a340 ==> name=“baudrate” value=“115200”
INSERT: table 27fe4ec0, filled 2/521 rv 27f39ddc ==> name=“at91sam9g25_test” value=“test -n $cpu && test KaTeX parse error: Expected 'EOF', got '&' at position 19: … = AT91SAM9G25 &̲& setenv board_…{board_name};”
INSERT: table 27fe4ec0, filled 4/521 rv 27f3bed4 ==> name=“bootargs” value="console=ttyS0,115200 user_debug=31 mtdparts=atmel_nand:256k(bootstrap)ro,768k(uboot)ro,256k(env_redundant),256k(env)ro,128k(dtb)ro,6528k(itb)ro,64M(rootfs)rw,440M(home)rw rootfstype=ubifs ubi.mtd=6 root=uINSERT: table 27fe4ec0, filled 5/521 rv 27f3b72c ==> name=“bootcmd_boot” value=“nand read 0x24000000 0x00180000 0x400000;bootm 0x24000000${at91_dtb_config}”
INSERT: table 27fe4ec0, filled 6/521 rv 27f3a764 ==> name=“bootcmd” value=“run at91_test_cpu; run bootcmd_boot;”
INSERT: table 27fe4ec0, filled 7/521 rv 27f3afc0 ==> name=“bootdelay” value=“1”
INSERT: table 27fe4ec0, filled 8/521 rv 27f3aa84 ==> name=“stderr” value=“serial”
INSERT: table 27fe4ec0, filled 9/521 rv 27f3a2a0 ==> name=“stdin” value=“serial”
INSERT: table 27fe4ec0, filled 10/521 rv 27f3b3d0 ==> name=“stdout” value=“serial”
INSERT: table 27fe4ec0, filled 11/521 rv 27f3a688 ==> name=“ethact” value=“macb0”
INSERT: table 27fe4ec0, filled 12/521 rv 27f3a0d4 ==> name=“ethaddr” value=“4E:65:6E:67:52:69”
INSERT: table 27fe4ec0, filled 13/521 rv 27f3bdf8 ==> name=“ipaddr” value=“192.168.1.100”
INSERT: table 27fe4ec0, filled 14/521 rv 27f3a55c ==> name=“serverip” value=“192.168.1.88”
INSERT: table 27fe4ec0, filled 15/521 rv 27f3bf4c ==> name=“gatewayip” value=“192.168.1.1”
INSERT: table 27fe4ec0, filled 16/521 rv 27f3a520 ==> name=“netmask” value=“255.255.255.0”
INSERT: free(data = 27f196a8)
INSERT: done
OK
In: serial
Out: serial
Err: serial
Net: eth0: ethernet@f802c000
Press Enter key to abort autoboot in 1 seconds

NAND read: device 0 offset 0x180000, size 0x400000
4194304 bytes read: OK

Current stack ends at 0x27ec8388

Loading kernel from FIT Image at 24000000 …

Using ‘sam9g25’ configuration
Trying ‘kernel@1’ kernel subimage
Description: Linux4SAM Linux kernel
Type: Kernel Image
Compression: uncompressed
Data Start: 0x240000d8
Data Size: 3623760 Bytes = 3.5 MiB
Architecture: ARM
OS: Linux
Load Address: 0x22000000
Entry Point: 0x22000000
Hash algo: crc32
Hash value: 743c2789
Hash algo: sha1
Hash value: 00ec07fba383656dfe65e6e52726fe37771575ba
Verifying Hash Integrity … crc32+ sha1+ OK
kernel data at 0x240000d8, len = 0x00374b50 (3623760)

<think>好的,我需要帮助用户在Buildrootbuildroot/dl/linux/git目录下初始化一个Git仓库。首先,我得回顾一下Buildroot的结构。Buildroot通常会在dl目录下存放下载的软件源码,Linux内核。用户提到的是buildroot/dl/linux/git目录,可能是指使用git方式下载的内核源码。 用户的问题是如何初始化Git仓库,这可能涉及到手动克隆仓库而不是通过Buildroot自动下载。通常情况下,Buildroot会自动处理下载和初始化,但如果用户想手动操作,可能需要特定的步骤。 首先,我应该确认用户是否需要自定义内核源码或者替换默认的下载方式。Buildroot在配置可以选择内核的版本和获取方式,比如通过git仓库的URL和commit ID。如果用户想手动初始化,可能需要先配置Buildroot的内核选项,指定正确的仓库地址和版本,然后执行下载步骤。 接下来,参考用户提供的引用内容,特别是引用[2]和[3],其中提到了克隆仓库和使用git submodule的命令。例如,引用[2]中的命令是克隆仓库后执行子模块更新。这可能适用于Buildroot中的情况,如果内核仓库含子模块,需要初始化并更新子模块。 可能的步骤括:进入dl/linux/git目录,执行git clone命令,然后处理子模块。但需要注意Buildroot的目录结构,dl目录通常是自动生成的,手动操作可能需要调整配置,确保Buildroot在构建使用本地已有的仓库而不是重新下载。 此外,引用[4]提到了设备树文档的位置,可能与内核配置有关,但当前问题主要关注Git仓库初始化,暂不需要考虑这部分。 总结步骤可能为: 1. 配置Buildroot的内核选项,设置来源为Git仓库,并指定URL和commit。 2. 运行make命令让Buildroot自动下载,或者手动克隆仓库到dl目录下的正确位置。 3. 处理子模块,如果有的话,使用git submodule update --init --recursive。 需要注意权限问题,确保Buildroot有权限访问这些目录。另外,手动克隆可能需要调整Buildroot的缓存机制,避免重复下载。 如果用户想完全手动管理,可能需要覆盖Buildroot的下载步骤,例如使用OVERRIDE_SRCDIR指定本地路径。但具体方法需要查看Buildroot的文档,确保操作正确。</think>在Buildroot中初始化Git仓库需结合配置选项与手动操作。以下是具体步骤: ### 操作步骤 1. **配置内核源码选项** 进入`make menuconfig`,选择: ``` Kernel → Linux Kernel → [*] Linux Kernel Version → Custom Git repository URL → 填写内核Git地址(如`git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git`) Commit → 指定commit hash或tag(如`v5.10`) ``` 2. **创建目录结构** ```bash mkdir -p buildroot/dl/linux/git cd buildroot/dl/linux/git ``` 3. **手动克隆仓库(可选覆盖)** 若需强制使用本地仓库: ```bash git clone --depth 1 --branch v5.10 git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git linux-custom ``` 注意目录名需与Buildroot配置匹配[^2]。 4. **初始化子模块(如需要)** ```bash cd linux-custom git submodule update --init --recursive ``` 参考子模块初始化方法[^3]。 5. **配置Buildroot覆盖检测** 在`local.mk`中添加: ```makefile LINUX_OVERRIDE_SRCDIR = $(TOPDIR)/dl/linux/git/linux-custom ``` 这会跳过自动下载,直接使用本地代码。 ### 验证方法 执行`make linux-source`Buildroot将显示: ``` >>> linux custom Using existing source in $(TOPDIR)/dl/linux/git/linux-custom ``` ### 注意事项 - 内核版本需与Buildroot兼容(查看`BR2_LINUX_KERNEL_VERSION`配置) - 若修改了本地仓库代码,需执行`make linux-rebuild`重新编译
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值