tiny210v2-uboot之四编译内核+文件系统+烧写到MMC

news/2023/6/9 19:11:46

1. 编译内核:

>cp mini210_linux_deconfig .config

>make zImage -j4

>mkimage -n 'linux-2.6.32' -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -d zImage uImage

2. 格式化mmc

//分成三个区,第一个为FAT(存放40new_uimage文件等,测试用),第二个为linux区,第三个为rootfs区

fdisk -c /dev/sdb

sudo mkfs.vfat -F 32 /dev/sdb1 //或者mkdosfs -F32 -v -n "" /dev/sdb1

sudo mkfs.ext2 /dev/sd2

sudo mkfs.ext3 /dev/sd3

成功后显示:

sudo fdisk -l /dev/sdb

[sudo] password for rlk:

Disk /dev/sdb: 7.37 GiB, 7902068736 bytes, 15433728 sectors

Disk model: Storage Device

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0x6791577f

Device Boot Start End Sectors Size Id Type

//注意sudo mkfs.vfat -F 32 /dev/sd1并没有成功显示为FAT16 ,这里是我插卡到windows,手动格式化为FAT后再到linux里显示的样子

/dev/sdb1 2048 1026047 1024000 500M e W95 FAT16 (LBA)

/dev/sdb2 1026048 1128447 102400 50M 83 Linux

/dev/sdb3 1128448 15433727 14305280 6.8G 83 Linux

3. 制作文件系统(最终会把roofs.img烧写到mmc的第三个分区)

1)方法一

>dd if=/dev/zero of=rootfs bs=1k count=8192

>mkfs.ext2 -F rootfs

>sudo mount -t ext2 -o loop rootfs mnt

>cp ~/news5pv210/nfs/* mnt

>sudo umount mnt

>gzip --best -c rootfs > rootfs.gz

//虽然这里是ramdisk类型,但是会烧写到mmc的第三个分区,并不是把它加载到内存的文件系统

>mkimage -n "rootfs" -A arm -O linux -T ramdisk -C gzip -d rootfs.gz rootfs.img

>dd if= rootfs.img of=/dev/sdb3 seek=1128448

2)方法二:

mount /dev/sdb3 mnt

>cp ~/news5pv210/nfs/* mnt

>sudo umount mnt

4.uboot启动

>setenv bootargs "noinitrd console=ttySAC0,115200 root=/dev/mmcblk0p3 rw init=/linuxrc rootfstype=ext3"

//这里我没有烧写Linux到/dev/sdb2,而是先从dev/sdb1里加载到内存再启动

[Friendlyjimmy-TINY210]# fatload mmc 0:1 20008000 40new_uimage

[Friendlyjimmy-TINY210]# bootm 20008000

输出如下:


## Booting kernel from Legacy Image at 20008000 ...

Image Name: linux-3.0.8

Image Type: ARM Linux Kernel Image (uncompressed)

Data Size: 4825000 Bytes = 4.6 MiB

Load Address: 20008000

Entry Point: 20008040

Verifying Checksum ... OK

XIP Kernel Image ... OK

OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

[ 0.000000] Initializing cgroup subsys cpu

[ 0.000000] Linux version 3.0.8-FriendlyARM (rlk@rlk) (gcc version 4.5.1 (ctn g-1.8.1-FA) ) #2 PREEMPT Thu Jan 19 00:20:06 CST 2023

[ 0.000000] CPU: ARMv7 Processor [412fc082] revision 2 (ARMv7), cr=10c53c7f

[ 0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache

[ 0.000000] Machine: MINI210

[ 0.000000] Memory policy: ECC disabled, Data cache writeback

[ 0.000000] CPU S5PV210/S5PC110 (id 0x43110220)

[ 0.000000] S3C24XX Clocks, Copyright 2004 Simtec Electronics

[ 0.000000] S5PV210: PLL settings, A=1000000000, M=667000000, E=80000000 V=54 000000

[ 0.000000] S5PV210: ARMCLK=1000000000, HCLKM=200000000, HCLKD=166750000

[ 0.000000] HCLKP=133400000, PCLKM=100000000, PCLKD=83375000, PCLKP=66700000

。。。

0.000000] Virtual kernel memory layout:

[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)

[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)

[ 0.000000] DMA : 0xff000000 - 0xffe00000 ( 14 MB)

[ 0.000000] vmalloc : 0xe0800000 - 0xfd000000 ( 456 MB)

[ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)

[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)

[ 0.000000] .init : 0xc0008000 - 0xc0174000 (1456 kB)

[ 0.000000] .text : 0xc0174000 - 0xc08d10c8 (7541 kB)

[ 0.000000] .data : 0xc08d2000 - 0xc092a300 ( 353 kB)

[ 0.000000] .bss : 0xc092a324 - 0xc096f820 ( 278 kB)

0.989021] s5pv210-uart.0: ttySAC0 at MMIO 0xe2900000 (irq = 16) is a S3C640 0/10

[ 0.996099] s5pv210-uart.1: ttySAC1 at MMIO 0xe2900400 (irq = 20) is a S3C640 0/10

[ 1.006031] s5pv210-uart.2: ttySAC2 at MMIO 0xe2900800 (irq = 24) is a S3C640 0/10

[ 1.016019] s5pv210-uart.3: ttySAC3 at MMIO 0xe2900c00 (irq = 28) is a S3C640 0/10

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4566300.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

基于TLE6220GP的开关电磁阀驱动电路

在汽车自动变速器的电液控制系统中,电磁阀是关键部件,其中脉宽调制开关式电磁阀应用比较广泛,通过它可以完成离合器油压的缓冲控制,从而获得良好的换挡品质。 对于电液控制系统中的开关电磁阀,控制器可以采用英飞凌的…

视频动作识别——TLE模型解读

Deep Temporal Linear Encoding Networks 这是CVPR2017的文章,主要提出了一种时序线性编码层(Temporal Linear Encoding, TLE)来对视频分段提取后的特征图进行融合编码,最后得到的效果相对来说已经很不错了。搜索的时候发现没有什…

PHP使用socks5代理发送邮件

通过socks5代理使用smtp发邮件 起因 因为使用smtp发邮件,点击查看邮件原文能看到发送的服务器ip,而一般使用smtp的服务器为后台服务器,为了防止ip暴露,所以需要通过代理来进行发邮件的动作。 为了完成这个需求,首先…

HTTP、HTTPS、SOCKS代理的概念(到底是什么意思?)

HTTP/HTTPS/SOCKS 代理指的是客户端连接代理服务器的协议,指客户端和代理服务器之间交互的协议。 如服务器支持代理HTTP协议就叫HTTP代理服务器,支持代理SOCKS协议就叫SOCKS代理服务器。如代理服务器同时支持代理HTTP/SOCKS协议,则既可以叫H…

通过SOCKS代理渗透整个内网

通过SOCKS代理渗透整个内网 1.背景 经过前期的渗透工作,我们现在已经成功找到了web站点的漏洞,并且获得了一个普通的webshell,现在准备用菜刀去连接它。 注意:本次环境在本地搭建,假设现在一无所知,这样…

代理是选择 SOCKS 代理还是 HTTP 代理

选择 SOCKS 代理还是 HTTP 代理 ​  选择 SOCKS 代理还是 HTTP 代理?要解决这个问题,得充分了解两种代理的工作原理和配置情况。然后才能轻松进行选择,找到最适合您特定用途的代理。 在这篇文章中,我们会简要介绍 HTTP 和 SOCKS 代理软…

idea高效实用优化技巧

文章目录IDEA介绍配置优化注释模板快捷键硬件升级IDEA介绍 IDEA,全称IntelliJ IDEA,是Java语言的集成开发环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、C…

Springboot+vue调查问卷管理系统(带论文)

下载:https://download.csdn.net/download/AAshou/76340790 项目介绍: Springbootvue调查问卷管理系统(带论文) 系统说明: 基于Spring Boot的问卷调查系统 项目引见 > * 本项目的在线问卷调查调查系统是基于SpringBoot开发的,采用了前后端别离形式…