FreeNVMe
RISCOSBits (3000) 143 posts |
Here’s the formatter in action, with a DiscKnight scan and a lot of files to prove you can fill the drive up! It also cryptically proves how easy it is to covert a FAST machine to NVMe… |
Colin Ferris (399) 1814 posts |
Are you talking about a 1Tb disc under filecore? |
RISCOSBits (3000) 143 posts |
Yes. |
André Timmermans (100) 655 posts |
You increase the base unit size from 512 to 4096 bytes, so given the same maximal unit number filecore can encode, the disc size filecore can handle is multiplied by 8. See https://www.riscosopen.org/news/articles/2017/04/21/where-to-store-all-those-noughts-and-ones But this means that if you try to use them on another machine with an USB adapter, it may not work if the OS on that machine is too old. |
Chris Hall (132) 3554 posts |
Are you talking about a 1Tb disc under filecore? Yes. The view from GPartEd in Linux is: showing a 750GB RISC OS partition, a 300MB Loader partition plus a 20GB FAT32 partition then a 20GB Linux rootfs partition. Note: although Linux can see the free space and bytes used on the FAT16 partition, it won’t open the partition or allow it to be mounted on Linux as /boot because it does not start on a page boundary (256 sectors = 1MB on this 1TB drive is one page apparently). FileCore can only start an object at a multiple of LFAU and (idlen+1), i.e. a multiple of B0 sectors on this drive where LFAU is 32k (min.) and idlen=21. |
Jon Abbott (1421) 2651 posts |
Conversely, when using a 4K drive avoid FileCore volumes smaller than 256MB as it will result in a non-zoned volume. HForm will overwrite the MBR and BootRec with the map and even if formatted correctly, I suspect DiscKnight and FileCore will probably get confused. Its also worth noting the minimum object size will probably be 64Kb regardless of volume size, so the LFAO size becomes somewhat academic. |
David J. Ruck (33) 1635 posts |
I’d be interested if anyone could try that out and run DiscKnight on it, I don’t want it getting confused by what would appear to be giant floppy! DiscKnight has supported 4K sectors since version 1.52 in 2017 (1.55 is the latest), but I’ve only had my first query about a 4K drive yesterday. So proceed with caution, run a check on any disk first, and send me the verbose results if you are unsure about what it says. When doing a repair DiscKnight has an undo option, this enables the disk to be wound back to its original state if the repair isn’t successful – so always use it! Then there is a capture data option which grabs the boot block, maps and directories (but no actual file data) which will allow me to test changes on a virtual copy of problem discs to ensure the repair works. It’s good that 4K drives have come along now, while I can still just about remember how Filecore and DiscKnight work – the project will be 25 years old this year. |
Elesar (2416) 73 posts |
Inhabitants of the SATA camp have been able to use 4kn drives since 2017 and Elesar has stocked enterprise grade spinning rust drives since April 2018 as a spare part which serves as a useful backup drive in one of the spare SATA sockets on a Titanium motherboard. So NVMe definitely isn’t DiscKnight’s first 4k rodeo. |
Anton Reiser (471) 63 posts |
Explore the full capacity of your NVMe drive with 4096 byte LBA size NVMe4kFmat NVMe4kFmt works with FreeNVMe. anton dot reiser et allgaeu dot org |
Chris Gransden (337) 1207 posts |
Works OK with a Sabrent SB-RKT4P-2TB.
|
David J. Ruck (33) 1635 posts |
Inhabitants of the SATA camp have been able to use 4kn drives since 2017 and Elesar has stocked enterprise grade spinning rust drives since April 2018 as a spare part which serves as a useful backup drive in one of the spare SATA sockets on a Titanium motherboard. In which case the reason I haven’t had any queries about 4K drives in the last 7 years, is either the reliability of the drives you’ve been selling, or that DiscKnight does actually work! |
Anton Reiser (471) 63 posts |
@David |
David J. Ruck (33) 1635 posts |
Thanks, that’s good to know. |
RISCOSBits (3000) 143 posts |
We’ve recently updated our FreeNVMe drivers and now have access to Anton’s formatting tool developed especially for FreeNVMe allowing 4K sector NVMe drives of up to 2TB drives to be used directly under RISC OS. Have a look here to download the drivers, and get the link for the formatting tool. |
David Pitt (9872) 363 posts |
The NVMe sources are now in ROOL’s repository in the Disc product. With a little fiddling around a Pi ROM can be built that includes the three NMVe modules. (As far as I can see it is not possible to boot directly from the NVMe drive yet.) Excellent, thanks to all involved. |
Rob Andrews (112) 164 posts |
Tried doing this today it would not build can you link a copy? |
Chris Hall (132) 3554 posts |
(As far as I can see it is not possible to boot directly from the NVMe drive yet.) Yes. If you set byte 5 of CMOS to be the filing system number for NVMe to be the boot filesystem it is unclear how you specify the drive number. |
Rob Andrews (112) 164 posts |
when experimenting with the CMOS on setting NVME as the filesystem it came back with 111 not sure if this is correct only Rool can tell you this. |
Sprow (202) 1158 posts |
Pretty sure it isn’t filing system 111. Are you mixing up FS numbers with ROM module positions?
The FS number is a public definition. |
David Pitt (9872) 363 posts |
On the CM4 it can be seen that that the configured FileSystem NVMe can be set. *co. fi. nvme *st. fi. nvme FileSystem NVMe * After a reboot the boot stops at a . Directory '@' not found *st. fi. FileSystem NVMe *show FileSwitch* FileSwitch$SpecialField : *nvme *drive 4 *. Dir. NVMe::NVMe.$ Option 02 (Run) CSD NVMe:"Unset" Lib. NVMe:"Unset" URD NVMe:"Unset" !Builder D/ BCM2835NVMe WR/ ROOL D/ *show FileSwitch* FileSwitch$CurrentFilingSystem : NVMe FileSwitch$SpecialField : FileSwitch$TemporaryFilingSystem : NVMe * Though the configured filing system has apparently been preserved it has not been actioned and the CM4 seems to have no current filing system. Below is a successful boot into SDFS. *show FileSwitch* FileSwitch$CurrentFilingSystem : SDFS FileSwitch$SpecialField : FileSwitch$TemporaryFilingSystem : SDFS *
The File System number is 200 and can be set as such, but does not help. *st. fi. FileSystem SDFS *co. fi. 200 *st. fi. FileSystem NVMe * Booting from NVMe is not implemented, (yet?). And that’s that for now. It is not an issue here my disc image and !Boot is on the eMMC. |
Rob Andrews (112) 164 posts |
My Emmc !Boot contains !Run plus loader directory with new Rom from Riscosbits with drivers included. Run File consists of Boots off NVMe without problems, left the CMOS file with filesystem set to SDFS |
Jon Abbott (1421) 2651 posts |
“NVMe”? Is the label wrong somewhere, the filesystem is actually named “NVMeFS” |
Rob Andrews (112) 164 posts |
No The normal way to configure a Filesystem is |
David Pitt (9872) 363 posts |
ROOL are now hosting the CM4 NVMe modules in a new “Platform specific software” section in Raspberry Pi downloads Installed and working here. NVMeDriver 0.03 (29 Mar 2024) NVMeFS 0.03 (27 Mar 2024) NVMeFiler 1.16 (22 Feb 2024) Thanks all. |