Rolling your own Live ISO


#1

Back at messing around with this again. Making really good progress but I do have a general question. Reading the Arch wiki on the archiso I get that if you want files like bashrc, Xresources and the likes go into airootfs/etc/skel - suppose I want to add other files and directories such as .config/i3 (pretty much all directories within .config)

Would that also apply as long as I use the .config/i3, .config/i3blocks and so on and so forth put into the skel directory?

I figured I might ask before going down that path since it does take some time and I would prefer not to go through that if my hunch does not hold true.

Also - since I’m pretty much doing a live ISO (lightdm and the basic i3 do come up without an issue) I assume I can pre-seed a user and if so (as I don’t think I saw that in the wiki, but could have over looked it too) where can I get info on that process?

EDIT to the item above: I think I found this within the wiki - lol, I guess I did over look this. Will try in a spell

And lastly, what is a good option to include an installer? (I am getting way ahead of myself on this one, but what the heck, why not).

Thanks all!!
Chris


#2

Yes, that’s how I do it with my ISO, although I have /usr/share/sharpbang/skel to hold all the stuff and use a script to copy it to the new user (this is the method that BunsenLabs uses).


#3

Regarding creating a user, look in airootfs/root/customize_airootfs.sh

This script is run within the new root before compressing the image, just search for ‘customize_airootfs.sh’ inside the build script.


#4

Indeed! I did “play” around with that and ran a test and it did create a user. Wondering tho, how to set a password for that user? Simply using the useradd etc, set it up just fine but have no clue how to set a password.

So far, all is working well - Just need to know of decent program/script to use as an installer.
This is directed to you Nate, is it possible that I use the one you created? If so, are there any stipulations to the use? No - I do not intend to produce a distro, this would be for my own use and possibly for a friend or two.


#5

Aarrgghh. I’m just to tired to even mess with an installer. Just having this done is enough for my needs. Going to mark this closed (although I don’t know if assigning a password is still doable, but at this point, it’s pretty much a moot point, lol).


#6

If you are using our build then all you have to do is edit the customize_airootfs.sh script

# this adds the 'autologin' group if not already
grep -q "^autologin:" /etc/group || groupadd -r autologin

# user groups
g="audio,autologin,floppy,log,network,rfkill,scanner,storage,optical,power,wheel"

if ! id liveuser 2>/dev/null; then
    useradd -m -u 1000 -g users -G $g -s /bin/zsh liveuser
    chpasswd <<< 'liveuser:archlabs'
fi

This is a modified snippet (closer to what we currently have) of what you’ll find in the above mentioned script.

It uses chpasswd instead of passwd and it’s format is USER:PASS, you can use echo and pipes
echo 'USER:PASS' | chpasswd

or using a herestring as I did above
chpasswd <<< 'USER:PASS'


See the current (old, I’ll update it soon :slight_smile:) version in our iso build repo
https://bitbucket.org/archlabslinux/iso/src/master/archlabs/airootfs/root/customize_airootfs.sh


#7

LOL! Nate, THANK YOU and, I’m feeling pretty stupid right about now.
See, I had so wrapped up into this I wasn’t paying attention that I was doing this on the wrong system… I was trying to see what you were saying on my Arch Linux install.
(head - desk)

Oh for hell’s sakes…

Ok, I’ll get on track with the RIGHT OS this time. Not all is lost tho - I did learn a poop-load!.
Nate & HoaS, thank you! Big help on this (even tho I was in the wrong system)…


#8

This is all the same stuff, the same script exists in the default archiso package configs, to see the defaults that archiso ships you can look in /usr/share/archiso/configs/releng this is where all our build files originated, they have grown, shrank, and changed over the course of time but largely still the same structure.

Glad to be of help :slight_smile: