在wsl下开发T113的主线linux(5)-构建ubi文件系统

news2024/9/21 22:29:11

接下来是构建文件系统,这里使用最新的buildroot
https://buildroot.org/download.htmlicon-default.png?t=MBR7https://buildroot.org/download.html

tar xf buildroot-2022.11.tar.gz
cd buildroot-2022.11
make menuconfig

配置目标指令集类型

配置外部自定义编译器

配置生成文件系统类型为ubifs,最大逻辑擦除块数量决定了spinand的容量,我这里是128M的spinand,所以128M/128k = 1024

上面的这些配置操作可以用下面的默认配置文件代替,在configs文件夹创建sunxi_t113_spinand_defconfig文件,添加下面内容,使用make sunxi_t113_spinand_defconfig载入配置。

# architecture
BR2_arm=y
BR2_cortex_a7=y
BR2_ARM_FPU_VFPV4=y

# Toolchain
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_PATH="/home/wsl/arm-none-linux-gnueabihf"
BR2_TOOLCHAIN_EXTERNAL_GLIBC=y
BR2_TOOLCHAIN_EXTERNAL_PREFIX="arm-none-linux-gnueabihf"
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-none-linux-gnueabihf"
BR2_TOOLCHAIN_EXTERNAL_GCC_12=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_20=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
# BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set
BR2_TOOLCHAIN_EXTERNAL_CXX=y

# system

# kernel

# bootloader

# filesystem / image
BR2_TARGET_ROOTFS_UBI=y
BR2_TARGET_ROOTFS_UBI_PEBSIZE=0x20000
BR2_TARGET_ROOTFS_UBI_SUBSIZE=0
BR2_TARGET_ROOTFS_UBIFS=y
BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000
BR2_TARGET_ROOTFS_UBIFS_MINIOSIZE=0x800
BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=1024
BR2_TARGET_ROOTFS_UBIFS_OPTS="-F"

配置完成后make开始编译,接下来就是漫长的下载编译过程,大概需要半小时。
编译成功后会生成output/images/rootfs.ubi,使用xfel命令写入。

xfel spinand erase 0x800000 0x7800000
xfel spinand write 0x800000 output/images/rootfs.ubi

复位发现没有启动成功,原来内核默认没有打开mtd和ubi支持,在内核配置添加下面选项

Device Drivers -> Memory Technology Device (MTD) support -> NAND -> SPI NAND device Support   
Device Drivers -> Memory Technology Device (MTD) support -> Enable UBI - Unsorted block images
File Systems -> Miscellaneous filesystems -> UBIFS file system support

或者在arch\arm\configs\sunxi_defconfig中添加

CONFIG_MTD=y
CONFIG_MTD_SPI_NAND=y
CONFIG_MTD_UBI=y
CONFIG_UBIFS_FS=y

后重新载入配置。

另外设备树中的启动参数和分区也需要修改

bootargs = "mem=128M ubi.mtd=3 rootfstype=ubifs root=ubi0:rootfs rw rootwait console=ttyS0,115200";

&spi0 {
	pinctrl-0 = <&spi0_pins>;
	pinctrl-names = "default";
	status = "okay";

	spi_nand: spi_nand@0 {
        #address-cells = <1>;
        #size-cells = <1>;
		compatible = "spi-nand";
		reg = <0>;

		partition@0 {
				label = "awboot";
				reg = <0x0 0x40000>;	/* 256K */
				read-only;
		};

		partition@40000 {
				label = "dtb";
				reg = <0x40000 0x40000>;  /* 256k */
				read-only;
		};

		partition@80000 {
				label = "kernel";
				reg = <0x80000 0x780000>;  /* 7.5MB */
				read-only;
		};

		partition@800000 {
				label = "rootfs";
				reg = <0x800000 0x7800000>;
		};
	};
};

修改完后重新写入spi-nand,系统顺利启动,一个标准linux 6.1的基础busybox文件系统就做好了,可以根据不同应用可在buildroot添加所需的命令,下面是我常用的一些命令,总之非常方便。

make menuconfig
System configuration  ---> [*] Enable root login with password
Target packages  ---> Networking applications  ---> dropbear
Target packages ---> Libraries ---> Hardware handling ---> tslib
Target packages ---> Text editors and viewers ---> nano
Target packages ---> System tools ---> htop
iperf3
coremark
dhrystone

make busybox-menuconfig
Archival Utilities ---> Make tar xxx, Autodetect compressed tarballs
Linux System Utilities ---> Support mounting CIFS/SMB file systems
Networking Utilities ---> httpd
Networking Utilities ---> ntpd
Networking Utilities ---> udhcpd
Process Utilities ---> Support thread display in ps/pstree/top
Process Utilities ---> pgrep
Process Utilities ---> pmap
Process Utilities ---> Show the number of users

完整启动日志

[I] AWBoot r6143 starting...
[I] SPI-NAND: W25N01GV detected
[I] SPI-NAND: read dt blob of size 22242 at 43.00MB/S
[I] SPI-NAND: read Image of size 5424416 at 49.00MB/S
[I] booting linux...
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 6.1.0-rc3 (wsl@DESKTOP-NQRKTHB) (arm-none-linux-gnueabihf-gcc (Arm GNU Toolchain 12.2.Rel1 (Build arm-12.24)) 12.2.1 20221205, GNU ld (Arm GNU Toolchain 12.2.Rel1 (Build arm-12.1210) #7 SMP Fri Dec 30 18:52:12 CST 2022
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: MangoPi MQ-Dual
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] cma: Reserved 16 MiB at 0x47000000
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000040000000-0x0000000047ffffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000047ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x0000000047ffffff]
[    0.000000] percpu: Embedded 11 pages/cpu s15764 r8192 d21100 u45056
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32512
[    0.000000] Kernel command line: mem=128M ubi.mtd=3 rootfstype=ubifs root=ubi0:rootfs rw rootwait console=ttyS0,115200
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[    0.000000] Memory: 99804K/131072K available (8192K kernel code, 952K rwdata, 2188K rodata, 1024K init, 270K bss, 14884K reserved, 16384K cma-reserved, 0K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=2.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000001] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000013] Switching to timer-based delay loop, resolution 41ns
[    0.000188] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000681] Console: colour dummy device 80x30
[    0.000724] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.000740] pid_max: default: 32768 minimum: 301
[    0.000901] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.000916] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.001461] CPU: Testing write buffer coherency: ok
[    0.001766] /cpus/cpu@0 missing clock-frequency property
[    0.001795] /cpus/cpu@1 missing clock-frequency property
[    0.001805] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.002581] Setting up static identity map for 0x40100000 - 0x40100060
[    0.002720] rcu: Hierarchical SRCU implementation.
[    0.002725] rcu:     Max phase no-delay instances is 1000.
[    0.003261] smp: Bringing up secondary CPUs ...
[    0.003971] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.004097] smp: Brought up 1 node, 2 CPUs
[    0.004107] SMP: Total of 2 processors activated (96.00 BogoMIPS).
[    0.004114] CPU: All CPU(s) started in SVC mode.
[    0.004635] devtmpfs: initialized
[    0.008727] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.008927] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.008951] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.009546] pinctrl core: initialized pinctrl subsystem
[    0.010921] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.011968] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.012787] thermal_sys: Registered thermal governor 'step_wise'
[    0.012969] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.012981] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.020855] platform 5460000.tcon-top: Fixing up cyclic dependency with 5200000.mixer
[    0.020919] platform 5460000.tcon-top: Fixing up cyclic dependency with 5100000.mixer
[    0.021185] platform 5461000.lcd-controller: Fixing up cyclic dependency with 5460000.tcon-top
[    0.021537] platform 5470000.lcd-controller: Fixing up cyclic dependency with 5604000.tv-encoder
[    0.021593] platform 5470000.lcd-controller: Fixing up cyclic dependency with 5460000.tcon-top
[    0.022352] platform 7090000.rtc: Fixing up cyclic dependency with 7010000.clock-controller
[    0.032234] SCSI subsystem initialized
[    0.032716] usbcore: registered new interface driver usbfs
[    0.032754] usbcore: registered new interface driver hub
[    0.032791] usbcore: registered new device driver usb
[    0.032977] mc: Linux media interface: v0.10
[    0.033022] videodev: Linux video capture interface: v2.00
[    0.033106] pps_core: LinuxPPS API ver. 1 registered
[    0.033112] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.033127] PTP clock support registered
[    0.033547] Advanced Linux Sound Architecture Driver Initialized.
[    0.034416] clocksource: Switched to clocksource arch_sys_counter
[    0.041644] NET: Registered PF_INET protocol family
[    0.041849] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.042389] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.042417] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.042428] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.042444] TCP bind hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.042479] TCP: Hash tables configured (established 1024 bind 1024)
[    0.042567] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.042599] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.042749] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.043429] RPC: Registered named UNIX socket transport module.
[    0.043443] RPC: Registered udp transport module.
[    0.043447] RPC: Registered tcp transport module.
[    0.043450] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.044815] workingset: timestamp_bits=30 max_order=15 bucket_order=0
[    0.049789] NFS: Registering the id_resolver key type
[    0.049854] Key type id_resolver registered
[    0.049858] Key type id_legacy registered
[    0.050022] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[    0.050031] io scheduler mq-deadline registered
[    0.050036] io scheduler kyber registered
[    0.108727] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[    0.118865] CAN device driver interface
[    0.122269] sun6i-rtc 7090000.rtc: registered as rtc0
[    0.122395] sun6i-rtc 7090000.rtc: setting system clock to 1970-01-02T00:00:00 UTC (86400)
[    0.122514] sun6i-rtc 7090000.rtc: RTC enabled
[    0.122857] i2c_dev: i2c /dev entries driver
[    0.124723] sunxi-wdt 20500a0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[    0.125850] sun8i-ce 3040000.crypto: Set mod clock to 300000000 (300 Mhz) from 400000000 (400 Mhz)
[    0.126215] sun8i-ce 3040000.crypto: will run requests pump with realtime priority
[    0.126553] sun8i-ce 3040000.crypto: will run requests pump with realtime priority
[    0.126774] sun8i-ce 3040000.crypto: will run requests pump with realtime priority
[    0.126977] sun8i-ce 3040000.crypto: will run requests pump with realtime priority
[    0.127118] sun8i-ce 3040000.crypto: Register cbc(aes)
[    0.127146] sun8i-ce 3040000.crypto: Register ecb(aes)
[    0.127157] sun8i-ce 3040000.crypto: Register cbc(des3_ede)
[    0.127166] sun8i-ce 3040000.crypto: Register ecb(des3_ede)
[    0.127195] sun8i-ce 3040000.crypto: CryptoEngine Die ID 0
[    0.128073] usbcore: registered new interface driver usbhid
[    0.128082] usbhid: USB HID core driver
[    0.130773] NET: Registered PF_PACKET protocol family
[    0.130787] can: controller area network core
[    0.130861] NET: Registered PF_CAN protocol family
[    0.130869] can: raw protocol
[    0.130876] can: broadcast manager protocol
[    0.130885] can: netlink gateway - max_hops=1
[    0.130991] Key type dns_resolver registered
[    0.131078] Registering SWP/SWPB emulation handler
[    0.151942] sun20i-d1-pinctrl 2000000.pinctrl: initialized sunXi PIO driver
[    0.153211] printk: console [ttyS0] disabled
[    0.173477] 2500000.serial: ttyS0 at MMIO 0x2500000 (irq = 231, base_baud = 1500000) is a 16550A
[    0.980691] printk: console [ttyS0] enabled
[    0.987508] spi-nand spi0.0: Winbond SPI NAND was found.
[    0.992841] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
[    1.001736] 4 fixed-partitions partitions found on MTD device spi0.0
[    1.008126] Creating 4 MTD partitions on "spi0.0":
[    1.012920] 0x000000000000-0x000000040000 : "awboot"
[    1.018743] 0x000000040000-0x000000080000 : "dtb"
[    1.024176] 0x000000080000-0x000000800000 : "kernel"
[    1.038649] 0x000000800000-0x000008000000 : "rootfs"
[    1.194220] phy phy-4100400.phy.0: Changing dr_mode to 1
[    1.195527] usb_phy_generic usb_phy_generic.1.auto: dummy supplies not allowed for exclusive requests
[    1.199603] ehci-platform 4101000.usb: EHCI Host Controller
[    1.209317] musb-hdrc musb-hdrc.2.auto: MUSB HDRC host driver
[    1.214352] ehci-platform 4101000.usb: new USB bus registered, assigned bus number 1
[    1.220112] musb-hdrc musb-hdrc.2.auto: new USB bus registered, assigned bus number 2
[    1.236616] hub 2-0:1.0: USB hub found
[    1.236719] ehci-platform 4200000.usb: EHCI Host Controller
[    1.240434] hub 2-0:1.0: 1 port detected
[    1.247931] ohci-platform 4200400.usb: Generic Platform OHCI controller
[    1.256590] ohci-platform 4200400.usb: new USB bus registered, assigned bus number 3
[    1.264527] ehci-platform 4101000.usb: irq 233, io mem 0x04101000
[    1.270652] ehci-platform 4200000.usb: new USB bus registered, assigned bus number 4
[    1.270760] ohci-platform 4200400.usb: irq 237, io mem 0x04200400
[    1.286255] ehci-platform 4200000.usb: irq 235, io mem 0x04200000
[    1.292563] sunxi-mmc 4020000.mmc: Got CD GPIO
[    1.294477] ehci-platform 4101000.usb: USB 2.0 started, EHCI 1.00
[    1.303231] ubi0: attaching mtd3
[    1.308189] hub 1-0:1.0: USB hub found
[    1.312277] hub 1-0:1.0: 1 port detected
[    1.322619] sunxi-mmc 4020000.mmc: initialized, max. request size: 2047 KB, uses new timings mode
[    1.334453] ehci-platform 4200000.usb: USB 2.0 started, EHCI 1.00
[    1.341315] hub 4-0:1.0: USB hub found
[    1.345162] hub 4-0:1.0: 1 port detected
[    1.359176] hub 3-0:1.0: USB hub found
[    1.362978] hub 3-0:1.0: 1 port detected
[    1.444542] ohci-platform 4101400.usb: Generic Platform OHCI controller
[    1.451202] ohci-platform 4101400.usb: new USB bus registered, assigned bus number 5
[    1.459287] ohci-platform 4101400.usb: irq 236, io mem 0x04101400
[    1.539278] hub 5-0:1.0: USB hub found
[    1.543116] hub 5-0:1.0: 1 port detected
[    1.574453] random: crng init done
[    2.100239] ubi0: scanning is finished
[    2.114539] ubi0: attached mtd3 (name "rootfs", size 120 MiB)
[    2.120305] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    2.127199] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    2.133981] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    2.140952] ubi0: good PEBs: 960, bad PEBs: 0, corrupted PEBs: 0
[    2.146964] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
[    2.154178] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 2041766426
[    2.163310] ubi0: available PEBs: 0, total reserved PEBs: 960, PEBs reserved for bad PEB handling: 20
[    2.172542] ubi0: background thread "ubi_bgt0d" started, PID 85
[    2.172894] ALSA device list:
[    2.181451]   No soundcards found.
[    2.186632] UBIFS (ubi0:0): Mounting in unauthenticated mode
[    2.192477] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" started, PID 86
[    2.249179] UBIFS (ubi0:0): recovery needed
[    2.379732] UBIFS (ubi0:0): recovery completed
[    2.384300] UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "rootfs"
[    2.391721] UBIFS (ubi0:0): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    2.401642] UBIFS (ubi0:0): FS size: 117452800 bytes (112 MiB, 925 LEBs), max 1024 LEBs, journal size 9023488 bytes (8 MiB, 72 LEBs)
[    2.413554] UBIFS (ubi0:0): reserved for root: 0 bytes (0 KiB)
[    2.419390] UBIFS (ubi0:0): media format: w4/r0 (latest is w5/r0), UUID 9AE4F0B9-2A05-4C7A-8644-AA2CE4D2FFF0, small LPT model
[    2.432511] VFS: Mounted root (ubifs filesystem) on device 0:13.
[    2.440323] devtmpfs: mounted
[    2.444496] Freeing unused kernel image (initmem) memory: 1024K
[    2.450581] Run /sbin/init as init processSB bus registered, assigned bus number 2
[    1.228343] ehci-platform 4200000.usb: EHCI Host Controller
[    1.235904] hub 2-0:1.0: USB hub found
[    1.242613] ohci-platform 4200400.usb: Generic Platform OHCI controller
[    1.244554] hub 2-0:1.0: 1 port detected
[    1.255208] ehci-platform 4101000.usb: irq 233, io mem 0x04101000
[    1.261339] ehci-platform 4200000.usb: new USB bus registered, assigned bus number 3
[    1.264326] ohci-platform 4200400.usb: new USB bus registered, assigned bus number 4
[    1.278588] ehci-platform 4200000.usb: irq 235, io mem 0x04200000
[    1.284829] ehci-platform 4101000.usb: USB 2.0 started, EHCI 1.00
[    1.284899] sunxi-mmc 4020000.mmc: Got CD GPIO
[    1.296563] ubi0: attaching mtd3
[    1.300503] ohci-platform 4200400.usb: irq 237, io mem 0x04200400
[    1.307274] hub 1-0:1.0: USB hub found
[    1.311088] hub 1-0:1.0: 1 port detected
[    1.315120] ehci-platform 4200000.usb: USB 2.0 started, EHCI 1.00
[    1.320965] sunxi-mmc 4020000.mmc: initialized, max. request size: 2047 KB, uses new timings mode
[    1.322827] hub 3-0:1.0: USB hub found
[    1.333954] hub 3-0:1.0: 1 port detected
[    1.379177] hub 4-0:1.0: USB hub found
[    1.382997] hub 4-0:1.0: 1 port detected
[    1.444407] ohci-platform 4101400.usb: Generic Platform OHCI controller
[    1.451070] ohci-platform 4101400.usb: new USB bus registered, assigned bus number 5
[    1.459134] ohci-platform 4101400.usb: irq 236, io mem 0x04101400
[    1.539152] hub 5-0:1.0: USB hub found
[    1.542954] hub 5-0:1.0: 1 port detected
[    1.614309] random: crng init done
[    2.110704] ubi0: scanning is finished
[    2.124757] ubi0: attached mtd3 (name "rootfs", size 120 MiB)
[    2.130523] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    2.137436] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    2.144219] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    2.151185] ubi0: good PEBs: 960, bad PEBs: 0, corrupted PEBs: 0
[    2.157205] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
[    2.164431] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 2041766426
[    2.173555] ubi0: available PEBs: 0, total reserved PEBs: 960, PEBs reserved for bad PEB handling: 20
[    2.183138] ALSA device list:
[    2.186140]   No soundcards found.
[    2.186172] ubi0: background thread "ubi_bgt0d" started, PID 85
[    2.197304] UBIFS (ubi0:0): Mounting in unauthenticated mode
[    2.203409] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" started, PID 86
[    2.318154] UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "rootfs"
[    2.325610] UBIFS (ubi0:0): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    2.335531] UBIFS (ubi0:0): FS size: 117452800 bytes (112 MiB, 925 LEBs), max 1024 LEBs, journal size 9023488 bytes (8 MiB, 72 LEBs)
[    2.347444] UBIFS (ubi0:0): reserved for root: 0 bytes (0 KiB)
[    2.353272] UBIFS (ubi0:0): media format: w4/r0 (latest is w5/r0), UUID 9AE4F0B9-2A05-4C7A-8644-AA2CE4D2FFF0, small LPT model
[    2.366769] VFS: Mounted root (ubifs filesystem) on device 0:13.
[    2.374505] devtmpfs: mounted
[    2.378644] Freeing unused kernel image (initmem) memory: 1024K
[    2.384764] Run /sbin/init as init process
Starting syslogd: OK
Starting klogd: OK
Running sysctl: OK
Initializing random number generator: OK
Saving random seed: OK
Starting network: OK

Welcome to Buildroot
buildroot login: root
#
# uname -a
Linux buildroot 6.1.0-rc3 #7 SMP Fri Dec 30 18:52:12 CST 2022 armv7l GNU/Linux
#
# cat /proc/cpuinfo
processor       : 0
model name      : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 48.00
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

processor       : 1
model name      : ARMv7 Processor rev 5 (v7l)
BogoMIPS        : 48.00
Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

Hardware        : Generic DT based system
Revision        : 0000
Serial          : 0000000000000000
#
# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00040000 00020000 "awboot"
mtd1: 00040000 00020000 "dtb"
mtd2: 00780000 00020000 "kernel"
mtd3: 07800000 00020000 "rootfs"
#
# mount
ubi0:rootfs on / type ubifs (rw,relatime,assert=read-only,ubi=0,vol=0)
devtmpfs on /dev type devtmpfs (rw,relatime,size=49900k,nr_inodes=12475,mode=755)
proc on /proc type proc (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=666)
tmpfs on /dev/shm type tmpfs (rw,relatime,mode=777)
tmpfs on /tmp type tmpfs (rw,relatime)
tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
sysfs on /sys type sysfs (rw,relatime)
#
# df -h
Filesystem                Size      Used Available Use% Mounted on
ubi0:rootfs             102.9M      3.5M     99.5M   3% /
devtmpfs                 48.7M         0     48.7M   0% /dev
tmpfs                    57.2M         0     57.2M   0% /dev/shm
tmpfs                    57.2M     24.0K     57.2M   0% /tmp
tmpfs                    57.2M     16.0K     57.2M   0% /run
#
# time dd if=/dev/zero of=test.bin bs=1M count=64 conv=fsync
64+0 records in
64+0 records out
real    0m 1.26s
user    0m 0.00s
sys     0m 0.48s
#
#
# reboot
# Stopping network: OK
Saving random seed: OK
Stopping klogd: OK
Stopping syslogd: OK
umount: devtmpfs busy - remounted read-only
[  123.118531] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" stops
The system is going down NOW!
Sent SIGTERM to all processes
Sent SIGKILL to[  125.165719] reboot: Restarting system

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构和算法--算法与数据结构的概述、简单排序

目录 算法 算法概述 算法复杂度 数据结构 数据结构的概述 物理结构 逻辑结构 简单排序 1.选择排序 1.1算法描述 1.2算法实现 2冒泡排序 2.1算法描述 2.2算法实现 3插入排序 3.1算法描述 3.2算法实现 三种算法的比较 算法 算法概述 算法是一系列程序指令&am…

回溯算法题型

目录 一组合总和 二组合总和 三子集 四全排列 五解数独 一组合总和 题目描述&#xff1a; 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组…

ArcGIS基础:提取道路中心线

本实验为对道路路面数据进行中心线提取 以路边两侧边界为准&#xff0c;运用等分的办法实现道路中心线提取&#xff0c;原始数据如下所示&#xff08;来源于网络&#xff09;。 道路顶端有一些圆弧段的部分&#xff0c;需要把其去除。 首先要做的是面转线操作&#xff0c;如下…

HashMap解读

1.简介 HashMap &#xff0c;是一种散列表&#xff0c;用于存储 key-value 键值对的数据结构&#xff0c;一般翻译为“哈希表”&#xff0c;提供平均时间复杂度为 O(1) 的、基于 key 级别的 get/put 等操作。 2.哈希表结构 哈希表结构为数组&#xff0c;链表和红黑树。如图 …

已解决+ FullyQualifiedErrorId : UnauthorizedAccess

已解决无法加载文件 E:\day_01\Scripts\activate.ps1&#xff0c;因为在此系统上禁止运行脚本。有关详细信息&#xff0c;请参阅 https:/go.microsoft.com/fwlink/?LinkID135170 中的about_Execution_Policies。 CategoryInfo: SecurityError: &#xff08;:&#xff09; [ ]…

Spring Bean的配置详解

目录 1.bean基础配置 例如&#xff1a;配置UserDaolmpl由Spring容器负责管理 2.Spring开发中主要是对Bean的配置&#xff0c; Bean的常用配置一览如下&#xff1a; 3.bean的别名配置 4.bean作用范围配置 5.bean的实例化 6.bean生命周期 7.Spring的get方法 8.Bean的延迟加载…

57. 数据增广 / 图像增广 代码实现

1. 图像增广 在对常用图像增广方法的探索时&#xff0c;我们将使用下面这个尺寸为400 x 500的图像作为示例。 从github上把img下载下来后&#xff0c;放到同一目录下&#xff1a; d2l.set_figsize() img d2l.Image.open(./img/cat1.jpg) d2l.plt.imshow(img);大多数图像增广…

数字通信系统和模拟通信系统的简单介绍

关于数字和模拟&#xff0c;比较形象的一个对比如下图所示。 模拟系统就好比传统的钟表&#xff0c;秒钟一直在走&#xff0c;也就是连续之意&#xff1b;而数字系统相当于数字表&#xff0c;“ &#xff1a;”的闪烁相当于二进制的 0 和 1&#xff0c;有离散之意。 模拟通信系…

a billion ways to grasp

https://blog.csdn.net/weixin_26752765/article/details/108132661 翻译自 https://darshanhegde.github.io/blog/2020/heuristics-for-robotic-grasping/ 讲述了各种抓取 https://rpal.cse.usf.edu/competition_iros2021/ Grasping is one of the fundamental subtask of a r…

ECCV 2022|DynamicDepth:动态场景下的多帧自监督深度估计

&#x1f3c6;前言&#xff1a;本文别名DynamicDepth (github),如本文的名字所示&#xff0c;本文着重处理的就是动态场景下的多帧自监督深度估计问题。因为MVS在动态场景下会失效&#xff0c;所以在动态区域的多帧深度并不可靠。现在的已有方法例如ManyDepth&#xff0c;利用t…

老王linux面试题汇总

1.统计一个网站的访问量&#xff0c;统计网站访问次数最多的前几名的IP地址。 2.取两个文件的相同和不同行 3.分别创建10个账号&#xff08;user1-user10&#xff09; 5.独立磁盘冗余阵列RAID O,1,5,6,10,01级别区别 5.1磁盘利用率 5.2最少几盘磁盘实现 5.3容错性&#xff0c;…

(十二)大白话对于VARCHAR这种变长字段,在磁盘上到底是如何存储的?

文章目录 1、一行数据在磁盘上存储的时候,包含哪些东西?2、变长字段在磁盘中是怎么存储的?3、存储在磁盘文件里的变长字段,为什么难以读取?4、引入变长字段的长度列表,解决一行数据的读取问题5、引入变长字段长度列表后,如何解决变长字段的读取问题?6、如果有多个变长字…

蒙特卡洛积分、重要性采样、低差异序列

渲染公式 渲染的目标在于计算周围环境的光线有多少从表面像素点反射到相机视口中。要计算总的反射光&#xff0c;每个入射方向的贡献&#xff0c;必须将他们在半球上相加&#xff1a; 为入射光线 与法线 的夹角,为方便计算可以使用法线向量和入射向量&#xff08;单位化&…

Linux|科普扫盲帖|配置网络软件源---阿里云镜像仓库服务使用(centos,Ubuntu)

前言&#xff1a; 部署搭建各种环境&#xff0c;例如&#xff0c;集群环境&#xff0c;编译环境&#xff0c;测试环境&#xff0c;桌面环境&#xff0c;lnmp环境等等以及修复各种各样的漏洞&#xff0c;基本是使用本地仓库就可以完成的&#xff0c;但本地仓库有一个比较致命的…

深入理解TDNN(Time Delay Neural Network)——兼谈x-vector网络结构

概述 TDNN&#xff08;Time Delay Neural Network&#xff0c;时延神经网络&#xff09;是用于处理序列数据的&#xff0c;比如&#xff1a;一段语音、一段文本将TDNN和统计池化&#xff08;Statistics Pooling&#xff09;结合起来&#xff0c;正如x-vector的网络结构&#x…

x86_64架构的VINS-fusion-GPU部署

x86_64架构的VINS-fusion-GPU部署 1. 环境配置&#xff08;Ubuntu 18.04&#xff09; &#xff08;0&#xff09;CUDA 10.2 安装 由于笔记本的GPU太老&#xff08;GeForce 840M&#xff09;&#xff0c;只能使用较低版本的 CUDA&#xff0c;但是也能有个好处就是能够同时兼顾…

Linux TCP 拥塞正反馈 bad case

前置知识&#xff0c;TCP thin stream&#xff0c;参见&#xff1a; 该文档中搜索 tcp_thin_linear_timeoutsTCP-thin-stream 看图说话&#xff1a; 参见 tcp_retransmit_timer 函数&#xff0c;着重看下面段落&#xff1a; if (sk->sk_state TCP_ESTABLISHED &&am…

视觉SLAM学习路线

导师让我了解SLAM&#xff0c;SLAM原本是比较小众的方向&#xff0c;最近自动驾驶火起来&#xff0c;做这个SLAM的人也多了&#xff0c;反过来也会推动机器人感知的发展。希望未来学成的时候&#xff0c;能赶上机器人大规模普及&#xff0c;就业一片蓝海。学SLAM方向跟motion p…

RabbitMQ延迟列队的使用

目录 1. 延迟队列使用场景 2. RabbitMQ中的延迟队列实现思路 3. 实现示例 3。运行项目测试 1. 延迟队列使用场景 延迟队列一般可用于具有时间限制的任务&#xff0c;例如&#xff1a;限时优惠&#xff0c;超时的订单处理等。 对于这种场景&#xff0c;传统的处理方式是任…

Ceph: ceph基础知识

ceph基础知识 一、基础概念 ceph官方文档 http://docs.ceph.org.cn/ ceph中文开源社区 http://ceph.org.cn/ 1、概述 Ceph是可靠的、可扩展的、统一的、开源分布式的存储系统。 Ceph是一个统一的分布式存储系统&#xff0c;设计初衷是提供较好的性能、可靠性和可扩展性。 C…