• 0 Posts
  • 33 Comments
Joined 1 year ago
cake
Cake day: June 11th, 2023

help-circle
  • One thing you could do that I don’t see mentioned here is to install Virtual Box in Windows and create a Linux Mint Virtual Machine. It’s basically installing a computer within a computer. You should be able to find some tutorials online.

    This would let you try Linux Mint in a sandbox within Windows so that you could experiment a bit with everything before changing anything.

    Just keep in mind that within the VM, things will be less performant, especially graphically, and certain peripherals, etc. might not work. But it would let you test out installing the software you want, the cloud storage solution you want, browsing around, etc.

    Speaking of graphics, you’ll want to do some research about how well supported your GPU is. It will almost certainly “work” out of the box, but if you want to get the most performance out of it, like Windows, you’re going to need special drivers. I’ve heard Nvidia can be a bit of a pain, but I think it varies by model.

    I wouldn’t be too worried about the touch screen as that will probably work - or at least has on every laptop I’ve tried. I’ve had more issues with things like fingerprint scanners generally speaking. Definitely check out everything you can think of when you install, like Bluetooth, cameras, microphone, peripherals, etc. Oh and when using the laptop definitely manually knock yourself down out of performance mode using the upper-righthand corner in gnome. For me at least, it makes a huge difference in battery life if I’m in performance vs balanced vs power saver. Windows is better at automatically making those adjustments.

    I’ve also heard that lately Microsoft is making dual-boot harder - notably that Windows updates will just casually break your dual-boot and revert it to just Windows. I don’t know the details since it’s been years since I’ve done it myself, but something to keep in mind.

    Finally I’ll throw out there to make sure you have a recovery plan if the install goes south. Have all your files backed up. Have a copy of Linux and Windows installers ready. It honestly should be fine, but especially if this is your only PC you don’t want to be stuck if you have some kind of issue, accidentally blow away your laptop’s SSD, etc . Not trying to scare you or anything, but better safe than sorry, right?


  • More of a debugging step, but have you tried running lsinitrd on the initramfs afterwards to verify your script actually got added?

    You theoretically could decompress the entire image to look around as well. I don’t know the specifics for alpine, but presumably there would be a file present somewhere that should be calling your custom script.

    EDIT: Could it also be failing because the folder you are trying to mount to does not exist? Don’t you need a mkdir somewhere in your script?



  • Doubling what Klaymore said, I’ve seen this “just work” as long as all partitions have the same password, no key files necessary.

    That said, if you needed to use a key file for some reason, that should work too, especially if your root directory is one big partition. Keep in mind too that the luks commands for creating a password-based encrypted partition vs a keyfile-based encrypted partition are different, so you can’t, for example, put your plaintext password into a file and expect that to unlock a LUKS partition that was setup with a password.

    But the kernel should be trying to mount your root partition first at boot time where it will prompt for the password. After that it would look to any /etc/crypttab entries for information about unlocking the other partitions. In that file you can provide a path to your key file, and as long as it’s on the same partition as the crypttab it should be able to unlock any other partitions you have at boot time.

    It is also possible, as one of your links shows, to automatically unlock even the root partition by putting a key file and custom /etc/crypttab into your initramfs (first thing mounted at boot time), but it’s not secure to do so since the initramfs isn’t (and can’t be) encrypted - it’s kind of the digital equivalent of hiding the house key under the door mat.




  • I’ll just add that another, albeit smaller, category of games that don’t work are really new, demanding titles. There’s not a lot of them for now, but naturally the deck wasn’t the most powerful device to begin with and over time less titles will work well.

    Starfield was pointed out to me as an example of one that can’t run on the deck for performance reasons (not that Bethesda is known for their optimization) and BG3 was only barely playable at the lowest settings in the more demanding areas of the game (i.e. Act 3).

    That said, for its price point, and considering most games are using the proton compatibility later, I was actually very impressed with its performance.




  • I’ll also throw out: aging infrastructure, build systems, coding practices, etc.

    I looked into contributing to the kernel - it’s already an uphill battle to understand such a large, complex piece of software written almost entirely in C - but then you also need to subscribe to busy mailing lists and contribute code via email, something I’ve never done at 30 and I’m betting most of the younger generation doesn’t even know is possible. I know it “works” but I’m really doubting it’s the most efficient way to be doing things in 2024 - there’s a reason so many infrastructure tools have been developed over the years.

    The barriers to entry for a lot of projects is way too high, and IMO a lot of existing “grey” maintainers, somewhat understandably, have no interest in changing their processes after so much time. But if you make it too hard to contribute, no one will bother.







  • To add on to this answer (which is correct):

    Your “of” can also just be a regular file if that’s easier to work with vs needing to create a new partition for the copy.

    I’ll also say you might want to use the block size parameter “bs=” on “dd” to speed things up, especially if you are using fast storage. Using “dd” with “bs=1G” will speed things up tremendously if you have at least >1GB of RAM.


  • I ran into this exact situation at work - though for me it was more the case that getting approvals for new software / installing new dependencies in our system is a massive pain.

    So I went with Python since it’s already installed on basically any Linux system. It was fine - I mean Python is a good language and can certainly handle string processing and data manipulation with relative ease.

    I still think the Python docs are pretty bad, and I wasn’t thrilled with the options for calling a subprocess in Python - they all felt kinda clunky, though I was barred from using the newest versions since I had to run an older version of Python.

    But I ultimately got something that worked and it was certainly better executed / shorter than the bash equivalent it was replacing.



  • You offered a lot of suggestions, and I’m sure people will disagree over the specifics, but I think your overall point is excellent and not talked about enough. I wonder if anyone has ever even attempted a survey on the ages of maintainers/contributors? I bet it’s skewing older fast.

    Nothing wrong with that of course, especially given the project’s age, complexity, and being written in C - but you’re right, at some point you have to attract new talent - people can’t maintain forever.

    I’m a 29 year old developer - I didn’t even know you could do git patches via email until recently. And while it’s super cool, it also sounds kinda terrible, especially at the volume they must be receiving? Their own docs are saying the mailing lists receive some 500 emails per day and I can’t imagine the merge process is fun.

    So many doc pages are dedicated to how to submit a patch - which is great that it’s documented, and I’m sure it will always be somewhat complicated for a large project - but it also feels like things that are all automatically handled by newer tools / bots which can automatically enforce style checks, etc.

    I guess they could argue that the complicated process acts as a filter to people submitting PRs who don’t know what they are doing, but I’d argue it also shuts out talented engineers who don’t have 40 hours to learn how to submit a patch to a project on top of also learning the kernel and also fixing the bug in question.

    From what little I read of their git process, does anyone know if there’s anything preventing the maintainer of a subsystem from setting up a more modern method for receiving patches? As long as the upstream artifact to the kernel has the expected format?


  • Oh man, I actually like the language, but you made me think of my own hot take:

    Python has inexcusably poor docs.

    Just a smattering of examples, which aren’t even that good, while failing to report key information like all the parameters a function can take, or all the exceptions it can throw. Any other popular language I can think of has this locked down and it makes things so much easier.