> > I see that your script does the whole thing of copying the iso to an > updateable file system on disk, extracts the squashed file system, modifies > it, and then resquashes the file system and recreates the iso.
Close. Nothing is resquashed. The unsquashed fs is used for collecting packages and generating a new initramfs, then deleted. But the software speech iso did not work on either a laptop or on my > desktop. They booted into GRML just fine but the software speech driver, > speakup_soft, was not loaded and there was no speech. Weird thing is that > the same ISO worked in a virtual machine. I booted a vm with the same iso > and it came up talking. So that's strange. If speakup_soft isn't loaded, then I'd guess something wrong happened during https://github.com/KyleSebion/grml-espeakup/blob/7d66206cccaadf9b7dd3864744664a40037726b2/mk.sh#L60 (systemctl enable --now espeakup). What do systemctl status espeakup and journalctl -ab0 -u espeakup show? I don't think there is any reason to make the speakup_ltlk driver a special > case. I did that to reduce the scope of my testing. How about if I put the modified script on my web site at the Math Dept at > the University of Wisconsin? I'll be responsible for documenting, > publishing, and maintaining it. That way it can help more than just me. Oh, > how about if I rename it grml2speak? That way it fits into the grml2* fa That sounds fine. Just make sure to adhere to the GPL2 license: https://github.com/KyleSebion/grml-espeakup/blob/main/LICENSE. On Sat, May 24, 2025 at 1:04 PM John G. Heim <[email protected]> wrote: > Ah ha! > > I see that your script does the whole thing of copying the iso to an > updateable file system on disk, extracts the squashed file system, modifies > it, and then resquashes the file system and recreates the iso. I didn't > know you could do that last step all in one swoop -- which is pretty cool. > That is actually where I always got stuck trying to do this myself in the > past. That xorriso command to regen the iso must have 20 settings. > > Anyway, I also see that just documenting the process so others can > replicate it is not practical. I was hoping GRML had some kind of hook for > customization that I was unaware of. > > I generated an iso file for grml and my synth that uses the speakup_ltlk > driver. It works. So that's great. > > But the software speech iso did not work on either a laptop or on my > desktop. They booted into GRML just fine but the software speech driver, > speakup_soft, was not loaded and there was no speech. Weird thing is that > the same ISO worked in a virtual machine. I booted a vm with the same iso > and it came up talking. So that's strange. > > Volume is fine, btw, that doesn't really matter. > > I am wondering what you want to do next. I made some modifications to the > script to make it a little more friendly and more generalized. I don't > think there is any reason to make the speakup_ltlk driver a special case. > If the user specifies anything but software speech via the speakup_soft > driver, it should just add the speakup module dependency to initramfs, > generate a new initramfs, then overwrite the old initramfs with the new. > With that change, which is actually a simplification, the script works for > all hardware synths, not just the ltlk. Pseudo code: > > > if driver is 'soft' then > > generate isofiles/scripts/grml.sh > > fi > > add speakup module to initramfs > > > Note that following the above pseudo code, the software speech module, > speakup_soft, would be added to the initramfs. But that's good. because > even if everything else goes wrong, to get speech after the boot is > finished, you only have to type 'espeakup' instead of 'modprobe > speakup_soft; espeakup'. It's not a huge improvement but it's not nothin' > either. > > I also made it so it checks if the packages the script depends on are > already installed so it doesn't try to install them again. > > And then I wrote some code to generate a name for the resulting iso file. > If you start with something like grml-full-2025.05-amd64.iso you end up > with something like ltlk-full-2025.05-amd64.iso. > > It might be better to end up with something like > grml-ltlk-full-2025.05-amd64.iso. But during testing, I had too many files > starting with "grml-" and I got tired of ffilling the tab completion. > > How about if I put the modified script on my web site at the Math Dept at > the University of Wisconsin? I'll be responsible for documenting, > publishing, and maintaining it. That way it can help more than just me. Oh, > how about if I rename it grml2speak? That way it fits into the grml2* fa > > https://people.math.wisc.edu/~jheim/GRML/grml2speak > > > > > > On 5/11/25 12:19 AM, Kyle Sebion wrote: > > Hi John, > I made a script that sets up espeakup in a grml .iso file: > https://github.com/KyleSebion/grml-espeakup/blob/main/mk.sh > <https://urldefense.com/v3/__https://github.com/KyleSebion/grml-espeakup/blob/main/mk.sh__;!!Mak6IKo!KRveEP_wSmqkGWjfMoJnuOGc6lW7lEHbwRT5N4XpDK8qH8tNxfcT3cyjCO3wR-YiS5miNMSyPbipyT0jCQ$> > It isn't a very long script, so it shouldn't be hard to verify that it > isn't doing anything malicious. > To use it, boot grml, download the grml .iso you want to use and the > script, then run: ./mk.sh <grml.iso> > It will create espeakup.iso. > You might need to make tweaks based on the hardware you boot espeakup.iso > on. > I did do a fair amount of testing though (tested using 4x different grml > .iso files with espeakup.iso as a cd/dvd in a vm and with espeakup.iso > written to a usb drive and booted on my hardware). > You might also want to change the volume I set with amixer (I cranked it > to max because my speakers aren't very loud). > You probably know this already, but screen reading won't start until some > time after boot finishes. > > I might look into getting speakup_ltlk working. > That is a bit more work because the initramfs doesn't contain it, yet. > Could be fun, though, because, since I don't have the proper hardware for > it, I'd probably set up some other hardware so that I have a good idea if > it is working. > > > > On Sat, May 10, 2025 at 3:04 PM <[email protected]> wrote: > >> Hi, >> Some other dependencies for software speech would be: >> The espeak-ng package sound hardware configured and volume set to 3/4 >> volume >> for Mastre and PCM options. >> >> I don't know how hard this would be to do, the Debian installer has this >> functionality and if there's a way you could look at this you'd have a >> place >> to look as their install has had this for a few versions now working >> properly. >> >> Tom >> >> -----Original Message----- >> From: Grml <[email protected]> On Behalf Of John G. Heim >> Sent: Friday, May 9, 2025 1:23 PM >> To: [email protected] >> Subject: Re: [Grml] Customizing GRML to start speech as early as possible >> >> >> On 5/9/25 11:32 AM, Michael Prokop wrote: >> > * John G. Heim [Wed May 07, 2025 at 01:42:23PM -0500]: >> >> On 5/7/25 12:14 PM, Michael Prokop wrote: >> >>> To clarify the situation: for *you* only "modprobe speakup" is >> >>> relevant, or do you use any of the specific modules like >> >>> speakup_dectlk? >> >>> >> >>> Do *you* need anything other than just "modprobe speakup_soft" or >> >>> alike to get it working/useful for your situation? >> >> >> Personally, I would need the following: >> >> 1. Kernel module speakup >> >> 2. Kernel module speakup_ltlk >> >> 3. kernel module speakup_soft >> >> 4. espeakup program/package >> >> >> The espeakup program has to be running for the kernel to access a text >> to speech engine for software speech. >> >> >> >> >> I mostly use the Litetalk driver, speakup_ltlk. But to use a hardware >> >> synth, >> >> you have to have a machine with a serial port. This is another reason >> >> supporting hardware speech synths is more work than it is worth. My >> blind >> >> friends say the machines they work on do not have serial ports. So >> >> far, that >> >> has not been a problem for me. Even my desktop has a serial port. When >> I >> >> ordered the mobo, I just made sure it had a serial port header block. >> > Alright, And you don't need anything extra like espeakup or alike, >> > but that might be relevant for users without hardware like yours? >> >> >> For most users, this would be sufficient: >> >> 1. Kernel module speakup >> >> 2. Kernel module speakup_soft >> >> 3. Espeakup program/package >> >> >> >> BTW, if you are interested, I'll be giving a talk a week from today >> >> on being >> >> a blind systems admin to the Campus Research Computing Consortium >> >> (https://carcc.org >> <https://urldefense.com/v3/__https://carcc.org__;!!Mak6IKo!KRveEP_wSmqkGWjfMoJnuOGc6lW7lEHbwRT5N4XpDK8qH8tNxfcT3cyjCO3wR-YiS5miNMSyPbjP_dtPvg$>). >> Meeting details below. I will probably mention >> >> GRML but >> >> I won't spend a lot of time on it since i have so much to cover. >> > That sounds interesting. :) Did I understand the date/timezone >> > right, that your zoom meeting starts at 12:00 PM in ET (Eastern >> > Time), corresponding to 6:00 PM AKA 18:00 CEST? >> > >> >> I am pretty sure it is at 1:00 Eastern. It is confusing though. The >> meeting was created by somebody in the Central time sone so that's why >> it says 12:00. That's his time but it's 1:00 PM Eastern. I'll send the >> organizer an email just to be absolutely sure >> >> I am starting to think those people who say the entire planet should >> have one time zone are on to something. If I have to get used to 3:00 AM >> being lunch time, so be it. >> >> >> >> _______________________________________________ >> Grml mailing list - [email protected] >> https://lists.mur.at/mailman/listinfo/grml >> <https://urldefense.com/v3/__https://lists.mur.at/mailman/listinfo/grml__;!!Mak6IKo!KRveEP_wSmqkGWjfMoJnuOGc6lW7lEHbwRT5N4XpDK8qH8tNxfcT3cyjCO3wR-YiS5miNMSyPbhstMPDMw$> >> join #grml on irc.freenode.org >> <https://urldefense.com/v3/__http://irc.freenode.org__;!!Mak6IKo!KRveEP_wSmqkGWjfMoJnuOGc6lW7lEHbwRT5N4XpDK8qH8tNxfcT3cyjCO3wR-YiS5miNMSyPbhf2s-evA$> >> grml-devel-blog: http://blog.grml.org/ >> <https://urldefense.com/v3/__http://blog.grml.org/__;!!Mak6IKo!KRveEP_wSmqkGWjfMoJnuOGc6lW7lEHbwRT5N4XpDK8qH8tNxfcT3cyjCO3wR-YiS5miNMSyPbj2Y6uRBA$> >> >> _______________________________________________ >> Grml mailing list - [email protected] >> https://lists.mur.at/mailman/listinfo/grml >> <https://urldefense.com/v3/__https://lists.mur.at/mailman/listinfo/grml__;!!Mak6IKo!KRveEP_wSmqkGWjfMoJnuOGc6lW7lEHbwRT5N4XpDK8qH8tNxfcT3cyjCO3wR-YiS5miNMSyPbhstMPDMw$> >> join #grml on irc.freenode.org >> <https://urldefense.com/v3/__http://irc.freenode.org__;!!Mak6IKo!KRveEP_wSmqkGWjfMoJnuOGc6lW7lEHbwRT5N4XpDK8qH8tNxfcT3cyjCO3wR-YiS5miNMSyPbhf2s-evA$> >> grml-devel-blog: http://blog.grml.org/ >> <https://urldefense.com/v3/__http://blog.grml.org/__;!!Mak6IKo!KRveEP_wSmqkGWjfMoJnuOGc6lW7lEHbwRT5N4XpDK8qH8tNxfcT3cyjCO3wR-YiS5miNMSyPbj2Y6uRBA$> >> > _______________________________________________ > Grml mailing list - [email protected] > https://lists.mur.at/mailman/listinfo/grml > join #grml on irc.freenode.org > grml-devel-blog: http://blog.grml.org/ >
_______________________________________________ Grml mailing list - [email protected] https://lists.mur.at/mailman/listinfo/grml join #grml on irc.freenode.org grml-devel-blog: http://blog.grml.org/
