gcc : petalinux-2017.4自带的
u-boot tag : xilinx-v2017.1
vivado : 2017.4
git clone https://github.com/Xilinx/u-boot-xlnx
git checkout xilinx-v2017.1
注意:github上下载特别慢,可以先clone到gitee,然后从gitee下载快很多。
ARCH ?= arm
CROSS_COMPILE ?= /opt/pkg/petalinux/tools/linux-i386/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-
Boot media --->
[*] Support for booting from SD/EMMC
make zynq_zc702_defconfig
make all
完成后,把u-boot文件copy到windows下的目录备用,添加后缀.elf
D:\Share\u-boot.elf
先建好zynq-ax7020的bd文件,生成bit文件和hdf文件备用
根据hdf文件创建sdk, 使用实例fsbl
在fsbl_debug.h添加宏#define FSBL_DEGUG_INFO,输出一些信息便于调试。保存编译。
右键fsbl工程, create boot image
在boot image partitions 里面添加刚刚生成的u-boot.elf文件,然后create image即可生产BOOT.bin文件,最后拷贝到SD卡里面。
U-Boot 2017.01-dirty (Oct 24 2019 - 20:56:12 +0800)
Model: Zynq ZC702 Development Board
Board: Xilinx Zynq
I2C: ready
DRAM: ECC disabled 1 GiB
MMC: sdhci@e0100000: 0 (SD)
SF: Detected w25q256 with page size 256 Bytes, erase size 4 KiB, total 64 MiB
*** Warning - bad CRC, using default environment
In: serial@e0001000
Out: serial@e0001000
Err: serial@e0001000
Model: Zynq ZC702 Development Board
Board: Xilinx Zynq
Net: ZYNQ GEM: e000b000, phyaddr 7, interface rgmii-id
eth0: ethernet@e000b000
Hit any key to stop autoboot: 0
Device: sdhci@e0100000
Manufacturer ID: 9c
OEM: 534f
Name: USD00
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 14.7 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
reading uEnv.txt
** Unable to read file uEnv.txt **
Copying Linux from SD to RAM...
reading uImage
** Unable to read file uImage **
Zynq>
Zynq> print
baudrate=115200
bitstream_image=system.bit.bin
boot_image=BOOT.bin
boot_size=0xF00000
bootcmd=run $modeboot
bootdelay=2
bootenv=uEnv.txt
devicetree_image=devicetree.dtb
devicetree_load_address=0x2000000
devicetree_size=0x20000
dfu_mmc=run dfu_mmc_info && dfu 0 mmc 0
dfu_mmc_info=set dfu_alt_info ${kernel_image} fat 0 1\\;${devicetree_image} fat 0 1\\;${ramdisk_image} fat 0 1
dfu_ram=run dfu_ram_info && dfu 0 ram 0
dfu_ram_info=set dfu_alt_info ${kernel_image} ram 0x3000000 0x500000\\;${devicetree_image} ram 0x2A00000 0x20000\\;${ramdisk_image} ram 0x2000000 0x600000
ethaddr=00:0a:35:00:01:22
fdt_high=0x20000000
fdtcontroladdr=3ffa7260
importbootenv=echo Importing environment from SD ...; env import -t ${loadbootenv_addr} $filesize
initrd_high=0x20000000
jtagboot=echo TFTPing Linux to RAM... && tftpboot ${kernel_load_address} ${kernel_image} && tftpboot ${devicetree_load_address} ${devicetree_image} && tftpboot ${ramdisk_load_address} ${ramdisk_image} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
kernel_image=uImage
kernel_load_address=0x2080000
kernel_size=0x500000
loadbit_addr=0x100000
loadbootenv=load mmc 0 ${loadbootenv_addr} ${bootenv}
loadbootenv_addr=0x2000000
mmc_loadbit=echo Loading bitstream from SD/MMC/eMMC to RAM.. && mmcinfo && load mmc 0 ${loadbit_addr} ${bitstream_image} && fpga load 0 ${loadbit_addr} ${filesize}
modeboot=sdboot
nandboot=echo Copying Linux from NAND flash to RAM... && nand read ${kernel_load_address} 0x100000 ${kernel_size} && nand read ${devicetree_load_address} 0x600000 ${devicetree_size} && echo Copying ramdisk... && nand read ${ramdisk_load_address} 0x620000 ${ramdisk_size} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
norboot=echo Copying Linux from NOR flash to RAM... && cp.b 0xE2100000 ${kernel_load_address} ${kernel_size} && cp.b 0xE2600000 ${devicetree_load_address} ${devicetree_size} && echo Copying ramdisk... && cp.b 0xE2620000 ${ramdisk_load_address} ${ramdisk_size} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
preboot=if test $modeboot = sdboot && env run sd_uEnvtxt_existence_test; then if env run loadbootenv; then env run importbootenv; fi; fi;
qspiboot=echo Copying Linux from QSPI flash to RAM... && sf probe 0 0 0 && sf read ${kernel_load_address} 0x100000 ${kernel_size} && sf read ${devicetree_load_address} 0x600000 ${devicetree_size} && echo Copying ramdisk... && sf read ${ramdisk_load_address} 0x620000 ${ramdisk_size} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
ramdisk_image=uramdisk.image.gz
ramdisk_load_address=0x4000000
ramdisk_size=0x5E0000
rsa_jtagboot=echo TFTPing Image to RAM... && tftpboot 0x100000 ${boot_image} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
rsa_nandboot=echo Copying Image from NAND flash to RAM... && nand read 0x100000 0x0 ${boot_size} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
rsa_norboot=echo Copying Image from NOR flash to RAM... && cp.b 0xE2100000 0x100000 ${boot_size} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
rsa_qspiboot=echo Copying Image from QSPI flash to RAM... && sf probe 0 0 0 && sf read 0x100000 0x0 ${boot_size} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
rsa_sdboot=echo Copying Image from SD to RAM... && load mmc 0 0x100000 ${boot_image} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
sd_uEnvtxt_existence_test=test -e mmc 0 /uEnv.txt
sdboot=if mmcinfo; then run uenvboot; echo Copying Linux from SD to RAM... && load mmc 0 ${kernel_load_address} ${kernel_image} && load mmc 0 ${devicetree_load_address} ${devicetree_image} && load mmc 0 ${ramdisk_load_address} ${ramdisk_image} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}; fi
stderr=serial@e0001000
stdin=serial@e0001000
stdout=serial@e0001000
thor_mmc=run dfu_mmc_info && thordown 0 mmc 0
thor_ram=run dfu_ram_info && thordown 0 ram 0
uenvboot=if run loadbootenv; then echo Loaded environment from ${bootenv}; run importbootenv; fi; if test -n $uenvcmd; then echo Running uenvcmd ...; run uenvcmd; fi
usbboot=if usb start; then run uenvboot; echo Copying Linux from USB to RAM... && load usb 0 ${kernel_load_address} ${kernel_image} && load usb 0 ${devicetree_load_address} ${devicetree_image} && load usb 0 ${ramdisk_load_address} ${ramdisk_image} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}; fi
Environment size: 4814/131068 bytes
配置
sudo vim /etc/exports
/home/flinn/bin/zynq *(rw,sync,no_subtree_check)
重启nfs
sudo /etc/init.d/nfs-kernel-server restart
设置ip
setenv ipaddr 192.168.1.123
setenv serverip 192.168.1.104
然后开发板就可以ping主机(linux)
Zynq> ping 192.168.1.104
ethernet@e000b000 Waiting for PHY auto negotiation to complete.... done
Using ethernet@e000b000 device
host 192.168.1.104 is alive
Zynq> nfs 0x02080000 192.168.1.104:/home/flinn/bin/zynq/uImage;bootm 0x02080000
ethernet@e000b000 Waiting for PHY auto negotiation to complete.... done
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################
done
Bytes transferred = 3746128 (392950 hex)
## Booting kernel from Legacy Image at 02080000 ...
Image Name: Linux-4.9.0-xilinx-dirty
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3746064 Bytes = 3.6 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
FDT and ATAGS support not compiled in - hanging
### ERROR ### Please RESET the board ###
https://github.com/Xilinx/linux-xlnx git checkout xilinx-v2017.4
修改Makefile
ARCH ?= arm CROSS_COMPILE ?= /opt/pkg/petalinux/tools/linux-i386/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-
编译
make xilinx_zynq_defconfig make LOADADDR=0x00008000 uImage -j4 cp arch/arm/boot/uImage /home/flinn/bin/zynq
cp arch/arm/boot/dts/zynq-zc702.dtb arch/arm/boot/dts/zynq-ax7020.dtb vim arch/arm/boot/dts/Makefile dtb-$(CONFIG_ARCH_ZYNQ) += \ zynq-afx-nand.dtb \ zynq-afx-nor.dtb \ zynq-cc108.dtb \ zynq-parallella.dtb \ zynq-zc702.dtb \ zynq-ax7020.dtb \ zynq-zc706.dtb \ zynq-zc770-xm010.dtb \ zynq-zc770-xm011.dtb \ zynq-zc770-xm012.dtb \ zynq-zc770-xm013.dtb \ zynq-zed.dtb \ zynq-zybo.dtb cp arch/arm/boot/dts/zynq-ax7020.dtb ~/bin/zynq/
setenv ipaddr 192.168.1.123 setenv serverip 192.168.1.104 nfs 0x02080000 192.168.1.104:/home/flinn/bin/zynq/uImage;nfs 0x02000000 192.168.1.104:/home/flinn/bin/zynq/zynq-ax7020.dtb bootm 0x02080000 - 0x02000000
启动日志
Zynq> bootm 0x02080000 - 0x02000000 ## Booting kernel from Legacy Image at 02080000 ... Image Name: Linux-4.9.0-xilinx-dirty Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3746064 Bytes = 3.6 MiB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK ## Flattened Device Tree blob at 02000000 Booting using the fdt blob at 0x2000000 Loading Kernel Image ... OK Loading Device Tree to 1fff9000, end 1ffffb5e ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.9.0-xilinx-dirty (flinn@flinn) (gcc version 6.2.1 20161114 (Linaro GCC Snapshot 6.2-2016.11) ) #1 SMP PREEMPT Thu Oct 24 21:39:08 CST 2019 [ 0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt:Machine model: Zynq ZC702 Development Board [ 0.000000] cma: Reserved 16 MiB at 0x3f000000 [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] percpu: Embedded 14 pages/cpu @ef7ce000 s25932 r8192 d23220 u57344 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260608 [ 0.000000] Kernel command line: [ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] Memory: 1012848K/1048576K available (6144K kernel code, 199K rwdata, 1456K rodata, 1024K init, 230K bss, 19344K reserved, 16384K cma-reserved, 245760K highmem) [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB) [ 0.000000] vmalloc : 0xf0800000 - 0xff800000 ( 240 MB) [ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB) [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB) [ 0.000000] .text : 0xc0008000 - 0xc0700000 (7136 kB) [ 0.000000] .init : 0xc0900000 - 0xc0a00000 (1024 kB) [ 0.000000] .data : 0xc0a00000 - 0xc0a31e00 ( 200 kB) [ 0.000000] .bss : 0xc0a31e00 - 0xc0a6b618 ( 231 kB) [ 0.000000] Preemptible hierarchical RCU implementation. [ 0.000000] Build-time adjustment of leaf fanout to 32. [ 0.000000] RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2. [ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=2 [ 0.000000] NR_IRQS:16 nr_irqs:16 16 [ 0.000000] efuse mapped to f0800000 [ 0.000000] slcr mapped to f0802000 [ 0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000 [ 0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000 [ 0.000000] L2C-310 erratum 769419 enabled [ 0.000000] L2C-310 enabling early BRESP for Cortex-A9 [ 0.000000] L2C-310 full line of zeros enabled for Cortex-A9 [ 0.000000] L2C-310 ID prefetch enabled, offset 1 lines [ 0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled [ 0.000000] L2C-310 cache controller enabled, 8 ways, 512 kB [ 0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001 [ 0.000000] zynq_clock_init: clkc starts at f0802100 [ 0.000000] Zynq clock init [ 0.000009] sched_clock: 64 bits at 383MHz, resolution 2ns, wraps every 4398046511103ns [ 0.000027] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x58688d738d, max_idle_ns: 440795214563 ns [ 0.000053] Switching to timer-based delay loop, resolution 2ns [ 0.000140] clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 467424388 ns [ 0.000167] timer #0 at f080a000, irq=17 [ 0.000512] Console: colour dummy device 80x30 [ 0.001828] console [tty0] enabled [ 0.001875] Calibrating delay loop (skipped), value calculated using timer frequency.. 766.66 BogoMIPS (lpj=3833333) [ 0.001953] pid_max: default: 32768 minimum: 301 [ 0.002106] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.002152] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.002791] CPU: Testing write buffer coherency: ok [ 0.003007] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.003072] Setting up static identity map for 0x100000 - 0x100058 [ 0.170580] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 [ 0.170668] Brought up 2 CPUs [ 0.170749] SMP: Total of 2 processors activated (1533.33 BogoMIPS). [ 0.170790] CPU: All CPU(s) started in SVC mode. [ 0.171580] devtmpfs: initialized [ 0.175394] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4 [ 0.175757] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.176626] pinctrl core: initialized pinctrl subsystem [ 0.177554] NET: Registered protocol family 16 [ 0.179055] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.200615] cpuidle: using governor menu [ 0.207341] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers. [ 0.207421] hw-breakpoint: maximum watchpoint size is 4 bytes. [ 0.207545] zynq-ocm f800c000.ocmc: can't request region for resource [mem 0xfffc0000-0xffffffff] [ 0.207628] zynq-ocm: probe of f800c000.ocmc failed with error -16 [ 0.207867] zynq-pinctrl 700.pinctrl: zynq pinctrl initialized [ 0.208368] e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 27, base_baud = 6249999) is a xuartps [ 0.662455] console [ttyPS0] enabled [ 0.686476] vgaarb: loaded [ 0.689563] SCSI subsystem initialized [ 0.694628] usbcore: registered new interface driver usbfs [ 0.700174] usbcore: registered new interface driver hub [ 0.705592] usbcore: registered new device driver usb [ 0.711064] media: Linux media interface: v0.10 [ 0.715631] Linux video capture interface: v2.00 [ 0.720359] pps_core: LinuxPPS API ver. 1 registered [ 0.725272] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti[ 0.734508] PTP clock support registered [ 0.738500] EDAC MC: Ver: 3.0.0 [ 0.742488] FPGA manager framework [ 0.746228] fpga-region fpga-full: FPGA Region probed [ 0.751482] Advanced Linux Sound Architecture Driver Initialized. [ 0.758389] clocksource: Switched to clocksource arm_global_timer [ 0.777399] NET: Registered protocol family 2 [ 0.782367] TCP established hash table entries: 8192 (order: 3, 32768 bytes) [ 0.789480] TCP bind hash table entries: 8192 (order: 4, 65536 bytes) [ 0.795986] TCP: Hash tables configured (established 8192 bind 8192) [ 0.802365] UDP hash table entries: 512 (order: 2, 16384 bytes) [ 0.808261] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes) [ 0.814752] NET: Registered protocol family 1 [ 0.819408] RPC: Registered named UNIX socket transport module. [ 0.825276] RPC: Registered udp transport module. [ 0.829982] RPC: Registered tcp transport module. [ 0.834647] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.841432] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available [ 0.850932] futex hash table entries: 512 (order: 3, 32768 bytes) [ 0.857780] workingset: timestamp_bits=30 max_order=18 bucket_order=0 [ 0.864799] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. [ 0.872457] bounce: pool size: 64 pages [ 0.876244] io scheduler noop registered [ 0.880200] io scheduler deadline registered [ 0.884431] io scheduler cfq registered (default) [ 0.891398] dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330 [ 0.898057] dma-pl330 f8003000.dmac: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16 [ 0.907323] [drm] Initialized [ 0.921520] brd: module loaded [ 0.930921] loop: module loaded [ 0.936750] libphy: Fixed MDIO Bus: probed [ 0.942832] CAN device driver interface [ 0.979182] libphy: MACB_mii_bus: probed [ 0.985934] macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 29 (00:0a:35:00:01:22) [ 0.995767] RTL8211E Gigabit Ethernet e000b000.etherne:00: attached PHY driver [RTL8211E Gigabit Ethernet] (mii_bus:phy_addr=e000b000.etherne:00, irq=-1) [ 1.009684] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k [ 1.015461] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. [ 1.022251] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 1.028752] ehci-pci: EHCI PCI platform driver [ 1.033285] usbcore: registered new interface driver usb-storage [ 1.039686] e0002000.usb supply vbus not found, using dummy regulator [ 1.046296] ULPI transceiver vendor/product ID 0x0424/0x0007 [ 1.051928] Found SMSC USB3320 ULPI transceiver. [ 1.056506] ULPI integrity check: passed. [ 1.060522] ci_hdrc ci_hdrc.0: EHCI Host Controller [ 1.065376] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1 [ 1.098408] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00 [ 1.104489] hub 1-0:1.0: USB hub found [ 1.108211] hub 1-0:1.0: 1 port detected [ 1.113567] mousedev: PS/2 mouse device common for all mice [ 1.119480] i2c /dev entries driver [ 1.123319] cdns-i2c e0004000.i2c: 400 kHz mmio e0004000 irq 24 [ 1.129977] pca954x 0-0074: probe failed [ 1.135437] cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer at f0962000 with timeout 10s [ 1.143951] EDAC MC: ECC not enabled [ 1.147626] Xilinx Zynq CpuIdle Driver started [ 1.152455] sdhci: Secure Digital Host Controller Interface driver [ 1.158601] sdhci: Copyright(c) Pierre Ossman [ 1.162915] sdhci-pltfm: SDHCI platform and OF driver helper [ 1.229438] mmc0: SDHCI controller on e0100000.sdhci [e0100000.sdhci] using ADMA [ 1.237287] ledtrig-cpu: registered to indicate activity on CPUs [ 1.243508] usbcore: registered new interface driver usbhid [ 1.249050] usbhid: USB HID core driver [ 1.254464] fpga_manager fpga0: Xilinx Zynq FPGA Manager registered [ 1.261909] NET: Registered protocol family 10 [ 1.267227] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver [ 1.273839] NET: Registered protocol family 17 [ 1.278243] can: controller area network core (rev 20120528 abi 9) [ 1.284470] NET: Registered protocol family 29 [ 1.288878] can: raw protocol (rev 20120528) [ 1.293107] can: broadcast manager protocol (rev 20161123 t) [ 1.298774] can: netlink gateway (rev 20130117) max_hops=1 [ 1.304339] zynq_pm_remap_ocm: OCM pool is not available [ 1.309625] zynq_pm_suspend_init: Unable to map OCM. [ 1.314552] Registering SWP/SWPB emulation handler [ 1.320385] input: gpio-keys as /devices/soc0/gpio-keys/input/input0 [ 1.327071] hctosys: unable to open rtc device (rtc0) [ 1.332100] of_cfs_init [ 1.334552] of_cfs_init: OK [ 1.337522] ALSA device list: [ 1.340454] No soundcards found. [ 1.344177] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6 [ 1.351656] Please append a correct "root=" boot option; here are the available partitions: [ 1.360054] 0100 16384 ram0 [ 1.363547] (driver?) [ 1.365918] 0101 16384 ram1 [ 1.369465] (driver?) [ 1.371821] 0102 16384 ram2 [ 1.375351] (driver?)