Jump to content

TRS-80

Moderators
  • Posts

    760
  • Joined

  • Last visited

Everything posted by TRS-80

  1. This is not so much a 'Tutorial' or a 'Review' as it is an overview (and/or starting point for further research) of some things to consider when setting up a file server, some in general and then some more particular to SBC. In the simplest case, you could attach almost any drive to almost any board, by any number of ways, and you have yourself 'a file server.' However with even a small amount of effort, there are so many better ways to do things nowadays. We have a lot more interesting hardware choices, advanced filesystems, etc. and so those are mostly what I want to talk about. But first, some context. Dedicated distros vs simple directory sharing Personally I am not a fan of dedicated distros like FreeNAS, OMV, etc. as I consider them to be too 'heavy weight' and single solution specific. I mean, if you need some/all of those features, or you like them or whatever, then great, use them. However, a 'file server' is one of the simplest use cases of a 'server' and I am sure one which almost everyone buying a SBC will do at some point. IMO, all one needs to do is simply share some folder(s) via either NFS (if your network is mostly GNU/Linux machines) or Samba/SMB (if your network is mostly Windows machines). And that's it, you're done! Simple, lightweight, and using standard protocols (well, a little less 'standard' in case of Windows, but I digress ). You could also add any of the software included in the 'all in one' solutions in first paragraph on a 'piece by piece' basis, if/when you need them. Personally I am more of a fan of starting small (vanilla Armbian base) and then adding things you need one by one. But you are of course free to do whatever you want. Setting any of that up, or debating about it, is considered off-topic for this thread, as there are tons of resources already around the Internet about those things. So I want to focus on other, (IMO) more interesting, aspects. You are welcome to make your own thread with a different focus, of course. Important note about hardware RAID RAID, in case you were unaware, means "Redundant Array of Independent Disks." For a looooooong time, I (and I think many others with SOHO NAS perspective) thought that 'hardware RAID was the only proper way to do it' but in the course of researching ZFS I eventually became convinced otherwise. In fact, apparently, historically 'big-iron' filesystems (Solaris, others) were always run with software RAID in the enterprise as there are a lot of advantages to that. Just think about it. If your hardware RAID card dies, you need to replace it with exactly the same model, before you can even begin to recover your data. With software RAID, you just re-connect drives and you are back in business (with ZFS, you can even connect them in any random order, amazing!). In particular if you are using ZFS, hardware RAID controllers are not recommended. I am not sure how much this applies to other similar software RAID systems, but it would stand to reason that it does (IMO). Hardware controllers are also typically very expensive and proprietary. Where software RAID uses readily available and inexpensive commodity hardware (while actually increasing reliability). All of which is why I have become such a big fan of it, whether we are talking about ZFS (which I like) or some other software RAID solution you may prefer instead. Now, with that out of the way, onward! Filesystem Assuming you came to similar conclusions as I did in previous section already, this is where our decision making process really begins in earnest IMO. As the way I see it, choice of file system will dictate topology, which will in turn dictate choice of hardware (which SBC to buy). Of course if you already bought some SBC, you are in a different boat (and working backwards, from my point of view ). Anyway, you will have to adapt accordingly (and/or buy different hardware). However, if you are already there, go to 'Historical Overview' section, and maybe you can find some solution there which will work with the hardware you already have. Now, back on track, we are really lucky nowadays, thanks to F/LOSS, to have some industrial grade, software based filesystems available to us mere mortals! I like ZFS, but certainly, opinions will differ. Some people like btrfs, in fact I got into a lengthy (but IMO informative) debate with @tkaiser about that. Then there are other distributed things like Ceph (and others) which I will admit to knowing less about. If you do, kindly add your thoughts to the thread when you have a moment. Point being, hardware setup for someone like me (using ZFS) or even someone using btrfs will be perhaps quite different than someone using something distributed like Ceph. Just keep that in mind. Historical Overview (SBC Hardware) I want to cover some of things which came before, as I think they are relevant to understanding where we are today. In the beginning, there was darkness. Wait, let me fast forward a bit. I will start with the creation of Armbian. Which happened, in fact, because Igor was trying to set up a file server on a cubietruck. True story (and like I said, you are not alone, this is a common use-case)! Anyway, many of us bought (A20 based) cubietruck back then, because they sold a small power adapter board which made this easy and they also had a SATA connector right on the board. I think they were one of first to do this in fact (I could be wrong). After that, a lot of us used (more powerful Samsung Exynos5 based octo-core) ODROID-XU4, along with a good quality USB to SATA adapter with UASP. That one in particular was recommended by tkaiser a long time ago, however -- as of time of writing this post -- PINE64 still sell it in their store(!). And it may be an 'okay' solution if you have some (especially, USB3 capable) board laying around that you just want to use. Some people are still using this today. But we have a lot better options now. Then RK3399 came on the scene. Which was very exciting, because these support not only PCIe, but they are also 64-bit (which is required for ZFS). Unfortunately, it took literally years for these to become really stable. Lucky for you, this is all in the past by now. And so, currently, many people will probably recommend RK3399 as a file (or other) server. There are a lot of other boards out there, which I do not have as much experience with. But I also try to note only historically significant developments here (at least the way I see them). If you have any to add, please comment below or contact me somehow (PM or IRC) and I will edit this post and add them. Usage (other than file server) As I already stated, almost any cheap board can be a (minimal) 'file server.' From that point of view, more powerful boards (like RK3399, or others) are overkill. However maybe you want better throughput. Or more disks. Or, like me, you want to run advanced filesystem like ZFS (also with more disks). Another thing which happens is that, once you handle the simple case of serving files, before you know it you will probably want to start doing more than that. You may already have some more demanding requirements in mind beforehand. For all these reasons, a slightly more powerful (and more expensive) board may be a better choice, as you will not be limited in the future. But if you are very sure about your needs and wants, and have perhaps other boards on your network to handle processing intensive tasks, this may not apply to you. Just something to consider. Hardware Recommendations (RK3399 based) For reasons mentioned at end of 'Historical Overview' section, many of us are fans of RK3399 based devices nowadays. Within this subset, you will get a lot of opinions. I know because I spent literally years asking people (including developers), while I was waiting for RK3399 to mature. Some developers think certain vendors make crappy hardware (and maybe they are right). Or they prefer the boards they know and develop on (naturally, IMO). Some vendors support the project a lot more than others (PINE64, notably, do not support Armbian at all to my knowledge). So you will have to do some amount of your own research, and form your own opinion here. I don't want to discount any of the above criteria too much. However, in the end, at least for me, one criteria bubbled to the top. And that was direct PCIe (or SATA) support. Since we are talking about RK3399 here, this means PCIe support. Which of course is in the SoC, but that is not what I am talking about. I am talking about putting a standard PCIe physical interface directly on the board. This way, you can buy any standard cheap/dumb PCIe to SATA adapter card. You can keep spares. You will be able to obtain them for the foreseeable future. By contrast, you can certainly rig up your own adapters, cables, etc. from GPIO. But personally, I find that fiddly and it doesn't strike me as the most reliable. I know some people are doing this just fine though. Another way, is that many vendors sell some sort of HAT, which provides SATA connectivity. However I find this short-sighted and -- quite frankly -- self-serving. What if they are out of stock, or stop making them? You are out of luck. Or you would need to revert to the above option (rigging up cables and adapters). It's good for them selling add-on hardware though I guess -- hence my 'self-serving' comment -- but maybe not the best for you and me in terms of keeping our important data available and up and running, on a long term basis. Therefore I say, skip all of that and go with a board that has a standard physical PCIe right on the board. ROCKPro64 And AFAIK, there is only one (standalone SBC) RK3399 that meets that description, which is ROCKPro64. Of course, I am not the first to come to same conclusion, in fact there is a whole thread where myself and some other like-minded folks discuss using ROCKPro64 as NAS. I say 'standalone SBC', because I almost forgot... Helios 64 These of course are no longer made, and Kobol, our once partners, have unfortunately closed up shop. However they still come up for sale on the forums from time to time (usually in Kobol Club but could be anywhere). Here you would be getting a more integrated solution, often including a nice case, for perhaps a bit more money. Some people have had problems with stability though, which I am not sure were ever fully worked out. Have a look through Kobol club (linked above) and form your own opinion. Hardware Recommendations (not RK3399 based) ODROID HC4 ODROID HC4 was also brought up today, when this subject came up in IRC, by @rpardini as that is what he uses. This is an interesting alternative to the above, except Amlogic (S905X3) based (like a lot of TV boxes). Which to me means two things: 1. It almost certainly requires blobs. 2. It's probably cheaper than RK3399. Well in fairness ROCKPro64 probably requires some blobs, too. But somehow I get the impression that Amlogic are really obnoxious with their blobs, and I am not a fan of them as a company because of this. Surely a developer will need to correct me here. Anyway, I am not sure how it compares in processing power. I suspect less than RK3399(?). However for media transcoding, it may actually be better (perhaps hardware decoders(?), speculation on my part). Also for simple 'file server' use-case, in particular with Ceph or something like that, it becomes more interesting IMO. Again, quoting rpardini from IRC today: "scale out, not up." Future There are newer SoCs, like RK3566 and others. At this time, they are a lot like RK3399 was early on. Very exciting, but not able to realize their full potential due to lack of (software/Linux) development. The consensus among developers seems to be that RK3566 development should go faster/easier than RK3399 development, because of all the ground work that was laid in the course of the latter. Maybe that's true, but we are still talking about some time. Maybe less years, but still significant time. If/when this changes, I will try and remember to update the post. Feel free to ping me by posting, I should get notified. Others? Possibly anything in NAS category. Which I mostly covered already (above, in more detail) but can always change in future. Certainly I forgot (or don't know about) some others. I have shared what I learned from my research the last several years while looking for solution for myself. However I do want to make this a more general resource that we can all point to, so please discuss, and I will be happy to edit this post later on and add relevant info. To clarify, I am not talking about 'any SBC which can be made into a file server' which is almost any of them, but rather particular hardware which is interesting for some specific reason(s), especially currently (or perhaps historically, which I would add to that section). Cheers!
  2. If I am interpreting above correctly, it sounds like there have been some hardware changes and those will need to be implemented. So until that gets done some things might not work.
  3. I came across these recently and found several interesting things within, so thought I would share them. I debated posting this in Development, but wanted anyone to be able to see and reply to the thread. Anyway some parts I felt were important enough that I actually took down some notes and quotations, which I will include. Open drivers for Arm GPUs This looks like it was presentation LVC21-318 at Linaro Connect '21 on 2021-03-25. Video is available at above page, and also on ThemTube here. I found this a fascinating presentation. Alyssa contrasts the (proprietary) 'before times' with current situation which is apparently quite different. In fact, I was quite surprised to learn that: She then goes on to give 3 case studies, one of which was VideoCore, where I was more than a little surprised to learn that Broadcom at some point actually hired someone to work on their F/LOSS driver. Now this was only after that guy was well into his own (night and weekend) reverse engineering effort, followed by a lot of public pressure, but still. End result apparently is that this driver is now shipping in production RPi 4. Next case study was about Freedreno. I will quote my favorite part from here: Of course being firmly in the camp with the 'looney Free Software types' myself, this comment warmed my heart quite a bit. Finally she gives the Panfrost case study, where she points out that things are apparently moving away from the 'reverse-engineering underdog' model, and: And so reverse engineering is apparently no longer needed. Apparently this is the driver that ships in PineBook Pro for example. Of course I must admit to being more than a little bit (pleasantly!) surprised at all of this. And also starting to soften my stance towards Broadcom (just a little though, lol). If you are the least bit interested in any of this, I can highly recommend watching the full presentation. It's only 19 minutes long, anyway, but I personally was riveted the entire time. The Open Graphics Stack I think this presentation was given at Embedded Linux Conference '21 on 2021-09-29. So, about 6 months after the above. But honestly I came across it on ThemTube here. In the beginning, she makes a good point about the tension between embedded devices with perhaps 20 year life cycles, and devices with proprietary drivers which may be EoL in 5 years, and how this tension can be alleviated by using F/LOSS drivers. But what got my attention the most was: She then goes on about details of particular platforms (including x86, ARM, etc.) and then finally: Which is a quite bold (and again, pleasantly surprising) statement IMO, but then again I do consider her an authority on the subject. After that she goes into quite some detail about the nuts and bolts of all the various parts of the stack, which you may or may not be interested in watching as much.
  4. OK, I was more thinking about maintaining the info there, like adding their own name as Maintainer, etc., rather than about generating images. So I will remind people about this as a part of onboarding (and encourage others to do the same if I am not around).
  5. The discussion here got me thinking, I thought at some point one of responsibilities of Board Maintainer was to keep the download page for their board updated? So I double checked the job description, and that's not on there now. Was that a simple oversight? Or maybe we changed policy about handing out WordPress access to all these new people to the project?
  6. Moved to P2P help. dd does not verify the written image, which is why that's not the recommended way. Please read Getting Started docs and try again.
  7. https://www.armbian.com/newsflash/armbian-22-02-pig-release-announcement/ Please promote, share, etc. on social media!
  8. First and foremost, check power. Maybe you did not read all the way to the end of my previous post. Also, please answer questions I asked.
  9. Well I only have (1) ROCKPro64, but I never had any such issues. Some other people have them as well and they are running reliable. I am starting to wonder if you got some bad eMMC. I would carefully test them all, one by one, using f3 as described here. Take your time and make notes. And do report back what you find. When you say 'testing' what do you mean? Moving them around? Or did you already test the flash with something like f3? Or ...? You probably don't want to be on old BSP kernel (and probably don't need to). I think that is wrong path / misdiagnosis. Actually, what are you using to power them? This could be lack of good power, too. Check those first, as they are most common (power and media). In fact make sure your power supply is good before testing the eMMC.
  10. Good morning, guise! I made some major revisions all day yesterday after getting some helpful feedback from @rpardini. Which made it a little long again. With a good night's sleep now and a fresh cup of coffee, I will keep polishing it up / paring it back down right up until you forcibly yank it from my clutches, but it is mostly ready to go I think.
  11. Did you buy those from PINE64 as well? Or some other source?
  12. https://www.armbian.com/newsflash/armbian-needs-your-help/ https://forum.armbian.com/topic/19172-do-you-like-to-see-your-favorite-board-supported/
  13. I couldn't help but wonder how much longer the Kobol wiki might stay up. Luckily someone have apparently archived it already.
  14. I could be wrong, but I would suspect that the armbian-config script should actually install it. But maybe it's broken? So, if anyone does figure it out, please do submit a patch!
  15. I came across https://github.com/morrownr/USB-WiFi recently in my travels, which seems to be a quite decent resource. Of course, he mentions not a word about licensing. If you care about Free Software as I do, there are only a very small number of Wi-Fi adapters which can be run completely blob free. But that is a whole another discussion.
  16. Well, what you are describing sounds like user space / software issues, which has not to do with Armbian which is a build script and handle some low level things like boot loaders, kernel, etc. So I moved to P2P. It sounds like you are proceeding in a reasonable fashion. Permissions, etc... Maybe ask at Unbound forums (or mailing list?), assuming such place exists. IRC maybe?
  17. Double, triple check all basic things like Igor linked to. Power and media, it's almost always one of those problems. On a more personal note, try and relax and enjoy the process. Like solving a puzzle. Keep us posted on your progress, and good luck.
  18. I think a lot of us are in this boat. I am even in that boat. I can't speak for Igor and the other guys, but my sense is that, for people who step up and try to help out, I think they do try and make a little time. I would not expect a lot, they are still very busy, etc. However, the needle may move from 'no time for anything' to 'maybe I can make a few minutes here and there.' I would encourage everyone who is around the periphery like this to hang around on the forums and/or IRC. Come say hello and just idle when you are at your battle station. There are also a few guys who are active on IRC in particular. You can ask questions in there and some times get answers. And some times not, but don't take it to heart. And it may take time, some times people answer hours later in IRC. There are also the forums, where you may have better luck. Even at my low level of knowledge, I have been able to answer some people's questions some times. So please, do not be afraid to try and help out. I would encourage more experienced members of the community to also help in answering questions, on the forums as well as IRC. Every single question answered takes a little bit of burden off developers. Ideally we foster a community where power users and other interested parties can help each other learn and figure things out. I do have some more resources I would like to add to the docs as well about a few things. It's never too late, newfriend. Welcome aboard, and thanks! I will add you to the list. Some of above can apply to you, too it sounds like (and many others). --- @everyone, I have been thinking, just because new names are on the list does not necessarily mean that everything will be OK. Several people are new to the project, I have not seen them in IRC (in fairness, I'm not always on lately), who knows if things work out or not in the end. So please, if you are considering it, please throw your hat in the ring. Worst case is we have 2-3 maintainers for a given board. In which case the work can be done in a collaborative manner. If someone disappears due to life for some weeks, it would not be the end of the world. You get the picture. Thanks again to everyone who is stepping up, it is greatly appreciated!
  19. I am not familiar with that hardware, maybe you need to add some kernel module or install some driver package? Almost all packages (except some low level ones specific to ARM stuff like boot and kernel) come from upstream Debian anyway. As for building, yes sure, in fact Armbian is actually a build system after all. We just happen to publish some pre-built images (which are the product of the build system).
  20. Now I am certainly no authority, but reading between the lines of what Igor said, I think that yes maybe submitting a PR against our build repo may indeed be the correct place? Maybe it makes sense from the perspective that Armbian is actually a build system, rather than a distro in the normal sense, even though we do also publish pre-built images. And so, those patches get applied to some sort of kernel source or another, during the build process. In my time here, I have gathered that the ARM Linux ecosystem is kind of wild and wooly, with random patches and fixes coming from here and there... Armbian in fact is an effort to try and unify all these things floating around on the Internet into some sort of cohesive whole. Which I guess is why we maintain our own patch sets. Your efforts toward contribution are appreciated.
  21. I am not sure all the new Maintainers are even members of the appropriate group(s) (here on forums, I mean) to work with that group mention, above. I was meaning to make sure they were all aligned with Board Maintainers (which I have been keeping up to date) but did not get to it yet. I will try and do so ASAP (like tonight or tomorrow I guess).
  22. Yes, a PR was not sent, only an Issue was filed. Because ebin is CSC, the Issue was closed, although a PR would have been (and I imagine, still is) welcomed. Patches welcome...
  23. I misspoke when I said armbian-config. I meant to say nand-sata-install, as Werner correctly pointed out. BTW @Werner, did we change name to sata-nand-install, or was that just a typo?
  24. Thanks for input. I have been compiling a similar table (as above) of Orange Pi devices for comparison, which I will post soon. I will add this one to the table. Yeah, I seemed to recall there was some downside. So I guess I will prefer to stick with my requirement of a HAT style DAC, as not only this is direct ALSA hardware control, but also you can get them with integrated amplifier, making it a sort of all-in-one solution.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines