• 0 Posts
  • 514 Comments
Joined 2 years ago
cake
Cake day: June 16th, 2023

help-circle
  • Nice, and good job.

    With respect:

    • You are describing the init process, after the boot stuff is done. Not sure if you meant that or not.
    • vmlinuz is the bootable kernel image distinct from the kernel itself. It contains the compressed bootbale ELF kernel image (which itself contains bvmlinuz) and gzip decompress function, bsetup code, bbootsect system.map, and a handful of commands for the kernel image to bootstrap itself.
    • Kernel space doesn’t stop once user space is allocated memory and initialized, they both run at the same time. Maybe I read that wrong, but it didn’t seem right to me.

    I want to be careful here not to discourage you, this is great exploration!

    I realize I’m handing out unsolicited advice here, but when I was first learning about Unix/Linux kernels in the Solaris and HP/UX days, the thing that helped the process “click” for me was compiling a kernel and building an ELF. And if you’re going to continue on this journey (which I hope you do), you should probably read a bit on memory segmentation and broadly about assembly instructions.

    Good luck!


  • Your find statement is not creating a variable “file” because it’s missing the first part of the for loop. This:

    find ./ -type f \( -iname \*.jpg -o -iname \*.png \) | while IFS= read -r -d '' file; do

    should be this:

    for file in "$(find ./ -type f \( -iname \*.jpg -o -iname \*.png \))"; do

    However, the above command would find all files in current and subdirectories. You can just evaluate current context much more simply. I tested the below, it seems to work.

    #! /bin/bash
    echo "This script will rename all files in this directory with unique names. Continue? (Y/N)"
    read proceed
    if [[ "$proceed" == "Y" ]]; then
    	echo "Proceed"
                   for file in *.{jpg,JPG,png,PNG}; do
                        echo "in loop"
                        echo "$file"
                        dir=$(dirname "$file")
                        base=$(basename "$file")
                        echo "'$dir'/'$base'"
                        new_name="$dir/$(uuidgen -r)"
                        echo "Renaming ${file} to ${new_name}"
                        #mv "$file" "$new_name" #uncomment to actually perform the rename.
                   done
    	echo "After loop"
    else
    	echo "Cancelling"
    fi
    

    You could also find matching files first, evaluate if anything is found and add a condition to exit if no files are found.















  • I love alpine, and I use it where I can. And it has many advantages over other distros and setups. But a declarative, ram-only distro that boots over the network doesn’t help manage non-conformant machines.

    I still need to manage Debian, old centos boxes, Ubuntu machines, and a couple old-as-time sun machines. Nixos isn’t the tool for that job. Ansible has two dependencies: ssh and python, and there are ways around the 2nd one. Ansible works really well here.

    Not trying to bash nixos, here, but I’m not sure why so many users on Lemmy compare ansible and nix, they don’t really operate in the same spaces.





  • I’ve been watching halow for a while, I haven’t yet seen any sustainable, real-world examples beyond a few hundred kbps (not bytes). I have seen the 1Mbps results, and they’re promising, but most places with any other traffic in the free band is busy. If you have any successful and repeatable tests hitting at usable speeds, I’d love to see them.

    After getting into meshtastic and a few other lorawan projects, I’m a bit concerned that tests for these are always high and visible, which doesn’t work well in the mountains, even at shorter ranges.

    I used to be more hands-on with these new standards, but I’ll wait for better tests to come from halow before I try it out.