uboot下U盘烧写系统及应用程序

uboot下U盘烧写系统及应用程序

今天,现场出现了一台桩,启动的时候,uboot提示如下:
CPU: NUC972
DRAM:  64 MiB
NAND:  128 MiB
MMC:   mmc: 0
In:    serial
Out:   serial
Err:   serial
Net:   emac
Hit any key to stop autoboot:  0 

Loading from nand0, offset 0x200000
** Unknown image type
Wrong Image Format for bootm command
ERROR: can't get kernel image!

以上就是内核损坏了,现场只有U盘口,所以以下就uboot模式下,烧写系统及应用程序

## nand存储划分

我们需要烧写的几个文件及区域如下:
   文件名称        起始地址     大小
1:linux-kernel  0x200000 	2.5M左右
2:root-fs		0x700000    12M左右
3:app	        0x1B00000   3M左右

烧写命令及流程

烧写kernel详细过程如下

U-Boot> usb start
(Re)start USB...
USB0:   USB EHCI 0.95
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
U-Boot> usb dev

USB device 0: Vendor: USB      Rev: 1100 Prod: Flash Disk      
            Type: Removable Hard Disk
            Capacity: 7681.0 MB = 7.5 GB (15730688 x 512)
U-Boot> fatls usb 0
            system volume information/
      128   autorun.inf 
            boot/
   413738   bootmgr 
  1541648   bootmgr.efi 
            efi/
    74184   setup.exe 
            sources/
            support/
            °
            a8_tcu/
            xrd_tft/
            ui/
  2400064   970uimage 

5 file(s), 9 dir(s)

U-Boot> fatload usb 0 0x3000000 970uimage
reading 970uimage
2400064 bytes read in 136 ms (16.8 MiB/s)
U-Boot> nand erase 0x200000 0x400000

NAND erase: device 0 offset 0x200000, size 0x400000
Erasing at 0x5e0000 -- 100% complete.
OK
U-Boot> nand write 0x3000000 0x200000 0x400000

NAND write: device 0 offset 0x200000, size 0x400000
 4194304 bytes written: OK

完整命令及说明

usb start			//启动usb
usb dev				//查看usb设备
fatls usb 0			//查看usb内的文件
fatload usb 0 0x3000000 uImage			//将指定文件加载到内存中
nand erase 0x200000 0x400000			//擦除nand上指定位置的数据
nand write 0x3000000 0x200000 0x400000	//将文件烧写到nand的指定位置

mw.b 0x3000000 0xff 0x1400000			//清除内存指定位置上的数据
fatload usb 0 0x3000000 rootfs.cramfs	//加载usb上文件到内存上
nand erase 0x700000 0x1400000			//清除nand上指定位置,指定大小空间
nand write 0x3000000 0x700000 0x1400000	//将内存上文件写到nand指定位置

//同上,写app区数据
mw.b 0x3000000 0xff 0x500000
fatload usb 0 0x3000000 cl5899_tcu_app.img
nand erase 0x1B00000 0x500000
nand write 0x3000000 0x1B00000 0x500000

### 启动 MinIO 的方法 #### 使用命令行启动 MinIO 为了在 Linux 上启动 MinIO,可以使用如下命令: ```bash export MINIO_ROOT_USER=<your-username> export MINIO_ROOT_PASSWORD=<your-password> /usr/local/bin/minio server /path/to/data --console-address ":9001" ``` 上述命令设置了两个环境变量 `MINIO_ROOT_USER` 和 `MINIO_ROOT_PASSWORD` 来指定访问 MinIO 控制台所需的用户名和密码[^1]。 对于希望简化启动过程的情况,也可以创建一个简单的 shell 脚本来自动执行这些操作。这可以通过编类似于下面的内容到名为 `start-minio.sh` 文件中实现: ```bash #!/bin/bash export MINIO_ROOT_USER=admin export MINIO_ROOT_PASSWORD=secret exec /usr/local/bin/minio server /data --console-address ":9001" ``` 赋予该脚本可执行权限并通过它来运行 MinIO 服务[^3]。 #### 设置为系统服务以便开机自启 如果期望 MinIO 随着系统的启动而自动开启,则应该将其设置成 systemd 服务。为此目的,需创建一个新的 service 文件 `/etc/systemd/system/minio.service` 并填入以下内容: ```ini [Unit] Description=MinIO Object Storage Server Documentation=https://docs.min.io Wants=network-online.target After=network-online.target [Service] Type=simple User=minio-user EnvironmentFile=/etc/default/minio ExecStart=/usr/local/bin/minio server $STORAGE_PATH --console-address ":9001" [Install] WantedBy=default.target ``` 完成之后,通过下列指令使新定义的服务生效并启用随机器重启后的自动加载功能: ```bash sudo systemctl daemon-reload sudo systemctl enable minio sudo systemctl start minio ``` 以上步骤确保了即使计算机重新启动后也能保持 MinIO 正常工作状态[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超级波

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值