U-Boot port is based on sources forked from GRUB-0.97 by Sun in 2004,
which can be found here:
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/grub/grub-0.97/stage2/zfs-include/zfs.h
Released by Sun for GRUB under the license:
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
GRUB official releases include ZFS in version:
ftp://alpha.gnu.org/gnu/grub/grub-1.99~rc1.tar.gz
And patched against GRUB Bazaar repository for ashift fixes (4KB HDDs)
more conveniently found at github:
|
||
|---|---|---|
| .. | ||
| SPL | ||
| device-tree-bindings | ||
| uImage.FIT | ||
| I2C_Edge_Conditions | ||
| README.440-DDR-performance | ||
| README.AMCC-eval-boards-cleanup | ||
| README.ARM-SoC | ||
| README.ARM-memory-map | ||
| README.AVR32 | ||
| README.AVR32-port-muxing | ||
| README.JFFS2 | ||
| README.JFFS2_NAND | ||
| README.LED | ||
| README.LED_display | ||
| README.MPC866 | ||
| README.Modem | ||
| README.N1213 | ||
| README.NDS32 | ||
| README.NetConsole | ||
| README.OFT | ||
| README.POST | ||
| README.SNTP | ||
| README.SPL | ||
| README.VLAN | ||
| README.ag102 | ||
| README.arm-caches | ||
| README.arm-relocation | ||
| README.at91 | ||
| README.at91-soc | ||
| README.atmel_mci | ||
| README.autoboot | ||
| README.bedbug | ||
| README.bitbangMII | ||
| README.blackfin | ||
| README.bus_vcxk | ||
| README.cfi | ||
| README.commands | ||
| README.commands.itest | ||
| README.commands.spl | ||
| README.console | ||
| README.davinci | ||
| README.davinci.nand_spl | ||
| README.designware_eth | ||
| README.dns | ||
| README.drivers.eth | ||
| README.enetaddr | ||
| README.fdt-control | ||
| README.fsl-ddr | ||
| README.fsl-hwconfig | ||
| README.generic_usb_ohci | ||
| README.hwconfig | ||
| README.idma2intr | ||
| README.imx5 | ||
| README.imx31 | ||
| README.imximage | ||
| README.iomux | ||
| README.kwbimage | ||
| README.link-local | ||
| README.lynxkdi | ||
| README.m28 | ||
| README.m68k | ||
| README.marubun-pcmcia | ||
| README.menu | ||
| README.mips | ||
| README.mpc5xx | ||
| README.mpc74xx | ||
| README.mpc83xx.ddrecc | ||
| README.mpc83xxads | ||
| README.mpc85xx | ||
| README.mpc85xxads | ||
| README.mpc85xxcds | ||
| README.mx28_common | ||
| README.mx28evk | ||
| README.nand | ||
| README.nand-boot-ppc440 | ||
| README.ne2000 | ||
| README.ns9750dev | ||
| README.omap-ulpi-viewport | ||
| README.omap3 | ||
| README.ppc440 | ||
| README.pxe | ||
| README.s5pc1xx | ||
| README.sata | ||
| README.sched | ||
| README.scrapyard | ||
| README.serial_multi | ||
| README.sh | ||
| README.sha1 | ||
| README.silent | ||
| README.spear | ||
| README.srio-boot-corenet | ||
| README.standalone | ||
| README.switch_config | ||
| README.ubi | ||
| README.ublimage | ||
| README.update | ||
| README.usb | ||
| README.video | ||
| README.zfs | ||
| feature-removal-schedule.txt | ||
| git-mailrc | ||
| kwboot.1 | ||
| mkimage.1 | ||
README.zfs
This patch series adds support for ZFS listing and load to u-boot.
To Enable zfs ls and load commands, modify the board specific config file with
#define CONFIG_CMD_ZFS
Steps to test:
1. After applying the patch, zfs specific commands can be seen
in the boot loader prompt using
UBOOT #help
zfsload- load binary file from a ZFS file system
zfsls - list files in a directory (default /)
2. To list the files in zfs pool, device or partition, execute
zfsls <interface> <dev[:part]> [POOL/@/dir/file]
For example:
UBOOT #zfsls mmc 0:5 /rpool/@/usr/bin/
3. To read and load a file from an ZFS formatted partition to RAM, execute
zfsload <interface> <dev[:part]> [addr] [filename] [bytes]
For example:
UBOOT #zfsload mmc 2:2 0x30007fc0 /rpool/@/boot/uImage
References :
-- ZFS GRUB sources from Solaris GRUB-0.97
-- GRUB Bazaar repository
Jorgen Lundman <lundman at lundman.net> 2012.