Brittle gum in abeyance

For a while I had a business website for Brittle gum editing, but I let it lapse (on purpose) when I started at Biotext. Now I just have a page on this blog — here, and pasted in below, since that way I get a blog post out of it as well…


Brittle gum editing was the little company I set up when I freelanced. Brittle gum refers to the trees that are scattered about where I live, not a dental condition.

I made up an icon/logo from a panel on our lead-light front door. I am not a graphic designer…

I now work at Biotext, publishers of the Australian Manual of Scientific Style and writers, editors and designers specialising in technical and government content. As a result, I am not maintaining the Brittle gum website, and this page now serves as a placeholder for Brittle gum’s web presence, which has otherwise ceased.

If you’d like to get in touch with me about Brittle gum editing, please send an email to darren.goossens@gmail.com.

me at good readsme at Research Gate -- not much happening there these days!me at twitterme at linked inme at orcid (researcher ID -- not likely to be very busy any more!)me at wordpress -- my main presence and this blog

 


Old content — nostalgia…

screenshot showing menus and images on the old front page

Brittle gum editing — old front page

Screen shot, mostly with a CV and picture of me, when I did not look so old.

Brittle gum editing — old ‘about us’ page.

Advertisements

Get menu bar back on Evince; install Atril

At some point during the update cycle, Evince was redesigned to work ‘better’ but without taking into considerations the expectations of users who were happy with the older look.

In short, there is no Preferences setting to give me a menu bar across the top of the file. Instead, it looks like this:

Screen shot showing the lack of a menu in evince

evince menu is hidden behind a hamburger. I hate this trend.

This is part of a general trend to make interfaces look slicker by hiding away features. I guess it’s OK. Most features are still available with the same number of clicks. But I am the kind of user who sets up Firefox with the menu bar visible, who uses LibreOffice with the menu bar visible, and so on. The older menu paradigm is still the most common — even when Microsoft introduced the ribbon in Word, you still had a list of tab names across the top which is effectively a menu. The so-called hamburger (three horizontal lines) has been around a while and is ever-more present, but it is still not intuitive for me. I have to change gears to use it. I look for a File menu or an Edit menu, then go ‘ugh’ and click the hamburger.

Now, the simplest solution is to install Atril, the fork of evince in the MATE desktop. It gives the old-fashioned list of menus — File, Edit, View.

$ sudo apt-get install atril

The issue is that your browser or whatever may well automatically open Evince. This can be fixed by uninstalling Evince, or changing preferred applications in browsers and desktop settings.

All this is not to criticise Evince. I think it is great that there is a choice. I mean, I could also use gv, xpdf, Okular, qpdfview…

 

Grump

Simple use of tesseract OCR on a multipage PDF

Using the command line to OCR a PDF file. Done in Cygwin. First, converted pages of the PDF to PPM files, which tesseract can read. Chose 300 dpi.

$ pdftoppm -r 300 pdf-filename.pdf page

The PDF is ‘pdf-filename.pdf’ and the PPM files will have names of the form ‘page-??.ppm’ since the conversion will add ‘-??.ppm’ to the given stem, where ?? is the page number.

Then, run tesseract

$ for f in *.ppm ; do tesseract $f $f ; done

So this loops over all files with ppm as the extension and runs tesseract, and just gives the file name itself as the stem of the output. That means we’ll end up with a bunch of files with names like ‘page-03.ppm.txt’. I could have used basename to chop off the ppm, but there’s just no need.

Next, combine the txt files.

$ cat *.ppm.txt > pdf-filename.txt

This shows another reason for keeping the .ppm in the file name — if I have other .txt files in the subdirectory, they will not get caught up in the cat.

If you are a very thorough person, you might call your final text file something like ‘pdf-filename-tesseractOCR.txt’ or something, to preserve some information about provenance.

This OCR engine is pretty good.

Once the text file has been examined, don’t need the .ppm and ppm.txt files, so

$ rm page-??.ppm*

Of course, if you are surer of what’s in the folder, you might go

$ rm *ppm*

Now, clearly this could all be wrapped up in a very simple script, something like this (script has some improvements over command noted above):

$ cat ~/bin/OCR-pdf.sh

#!/bin/bash
echo "1. Converting to png (limit 9999 pages or your disk space)"
gs -dBATCH -dNOPAUSE -sDEVICE=pnggray -r600 -dUseCropBox -sOutputFile=ZZZZpage-%04d.png "$1" 2> /dev/null > /dev/null
echo -n 2. Performing OCR
for f in ZZZZpage-????.png ; do echo -n . ; tesseract $f $f 2> /dev/null > /dev/null ; done
echo done.
prename=`basename "$1" .pdf
newname="$prename.txt"
echo 3. Creating text file "$newname"
cat ZZZZpage-????.png.txt > "$newname"
rm ZZZZpage-????.png ZZZZpage-????.png.txt
echo 4. Cleaning up

Where I’ve added a few bells and whistles. Note that the error output is all discarded (‘2> /dev/null’ means ‘send output stream 2 (stderr) to /dev/null, which makes it disappear) so if something does not work these bits should be removed.

‘echo -n’ means ‘echo but do not add a linefeed’. I have read that this does not always work, though in a bash implementation it should be fine.

This requires a working GhostScript interpreter. Other conversion paths are possible; the standard tesseract uses Leptonica, which can read ppm and png and other files, so pdftoppm as used above works, though ppm files are big and not compressed, which is why I changed to png — I note that the gs-based version picked up some text that the pdftoppm version did not, possibly because I went up to 600 dpi, but there may be some other factor at work, I can’t say for sure..

 

FWIW (for what it’s worth)

 

Open or convert a CGM (computer graphics metafile) in Linux, and a .deb file to help

The CGM image format is really an edge case nowadays, like PCX files and other ancient formats. CGM is less well supported by the common Linux graphics tools (Inkscape, GIMP, ImageMagick and so on) than many other formats.

This document explores my attempts to convert them to more useful formats.

Method 1: I got a second-hand CD of Corel Draw 7 and installed it using wine. It installed readily and natively opens CGM and allows conversion to many other formats. Problem is of course that not everyone happens to have an old Corel Draw CD in their desk drawer.

Method 2: Went to http://www.agocg.ac.uk/train/cgm/ralcgm.htm and tried to find some files but struggled to. OK, how about from here: https://englanders.us/~jason/howtos.php?howto=ralcgm

  1. Downloaded ftp://ftp.imagemagick.org/pub/ImageMagick/delegates/ralcgm.tar.gz
  2. Opened a terminal and cd’d to the directory with the archive. Then extracted the rpm.
  3. $ tar xvzf ralcgm.tar.gz
  4. Used alien to make a .deb:
  5. $ alien --to-deb ralcgm-3.50-2.i386.rpm
  6. But it’s an i386 package and my machine is 64 bit. I can probably run it seeing as I’ve installed i386 libs (multiarch), but alien won’t convert it as is. I could possibly force it, but…
  7. Ran a 32-bit i386 Linux VM — used Mageia. First, installed alien. Then copied the file into the VM, ran alien as above, and copied the deb out.
  8. Installed the .deb:
  9. $ sudo dpkg -i ralcgm_3.50-3_i386.deb
  10. Tested it. Worked great. Man page, everything, all good. I’ve put the .deb up on my downloads page, http://djg.altervista.org/.

OK, the screen viewer works! Here is a screen shot!

Screenshot.

An old DOS-era CGM file viewed using ralcgm.

Now, how about conversion?

$ ralcgm -d ps guitar.CGM guitar.ps

And here is the resulting PostScript file, viewed in gv:

Screenshot

PostScript file, converted from CGM using ralcgm installed via a virtual machine and alien…!

Wow…or whatever. The ps file still needs to be cropped and then converted to whatever other format is desired.

On my netbook, which is i386, the VM steps were not needed.

This might be useful: https://www.chem.gla.ac.uk/~louis/xd-home/download.html

So might this: https://aur.archlinux.org/packages/ralcgm. Page includes mention of a 64-bit rpm… but it’s a dead link.

Method 3: There’s a thing called python-uniconvertor, but it is not in Debian stable and did not work when I installed it using dpkg. I’m sure it can be made to work (it’s in sid), but I like to keep things simple. Have not fully explored it, but see here: https://sk1project.net/modules.php?name=Products&product=uniconvertor&op=download

Conversion!

Linux distribution: linuxconsole

linuxconsole is unusual in that it is aimed at kids and at old computers — maybe that mum and dad are done with — and that it comes with an installer that is a Windows application, compatible with xp.

How does it work?

I don’t really know! Yet…

But I have an old Celeron-based Toshiba laptop with about 480 MB RAM and 20GB free on the hard drive. I thought I’d give it a go before toasting the HD completely and putting some conventional distro on it.

So, first I turned it on, hit ESC to bring up the boot menu and chose the CD drive, which had a ToriOS 1.0 disk in it.

Booted into ToriOS.

Plugged in external USB drive and made sure HD of Toshi was not mounted.

Ran dd to make a disk image

# dd if=/dev/sda of=/media/root/SAMSUNG/toshi-Nov2018.img bs=64k conv=noerror,sync

(I expected the IDE drive to be /dev/hda, but it was /dev/sda). Then also copied off any data that might be useful.

Then logged out and fired up Windows. Uninstalled a bunch of stuff, deleted caches and what not and tried to reduce the footprint on disk. Got it down to 17 GB. Leaving 20+ free.

Ran the disk clean-up then the defragmenter in Windows xp.

Downloaded the Windows installer (linuxconsole.exe). Ran it.

Screen shot of the installer running.

The installer for linuxconsole, running on a 32-bit Windows xp desktop.

Said it could not get at the files on the interweb that it needed.

Screen shot of error

Installer error

Looked at logs as noted in error message. There was a file it needed to download but could not. Found the URL in the log and tried it in browser directly — file it wants does not seem to exist. Or the directory it is in is not public.

Went to the distro website and emailed the maintainer.

Got email back only a day later saying ‘fixed!’. That’s pretty sharp response!

Downloaded a new copy of the exe file and tried again.

Ran the installer.

Set user name and password.

It started downloading the iso automatically. I was using ethernet.

Barfed and said connection lost. Probably my internet.

Ran the installer again, now using wifi.

Slow! But that’s the nature of my connection. Looks like it could take hours to download the iso.

Screen shot of installer

Image noting the expected 4 hours to install — and 4 hours it was!

Did take hours, but it worked. Downloaded an install iso (DVD size, about 2.2 GB, called installation.iso, I think), then it created a giant 10 GB file directly under C:\ on Windows xp (called something like linuxconsole.ext4) and a bunch of files in C:\linuxconsole.

Screen shot showing installer finished.

All done.

On reboot, got a menu where I could select WIndows or Linux. Chose Linux. It booted into the linuxconsole MATE desktop. It worked exactly as advertised on the distro website. There was a desktop icon for installing to HD as a conventional install, but I did not want to do that. You can install software into the ext4 file system that lives in the big file that sits on C:, play games and so on. It was pretty responsive given the old hardware, and equipped with pretty current software.

It’s rather a successor to the old UMSDOS filesystem that let Linux run off a DOS partition. As such, it is a great way to get Linux on a Windows computer without having to mess around with partitions. I can see it being an interesting beginning distribution because of that.

 

Worth a look.

Word not checking spelling of comments, or not underlining words spelt wrong

If Word is not checking the comments, it is probably because the Comment Text style has got Do not check spelling or grammar selected.

If it is not underlining the misspelt words in the main text, your body style (probably Normal but it could be Body Text or something) probably has that box checked. Or a setting in File → Options → Proofing could be turned off.

Here is how to fix it.

Open the styles pane.

Screenshot.

Opening the Styles pane.

Then select a comment as if editing it. This should cause the Comment Text style in the Styles pane to be highlighted. Right click on Comment Text (or click the little down arrow beside it) and select Modify…

Screenshot

Modify the style

Then select Format (arrow 1) and Language (not shown) and then uncheck Do not check spelling or grammar (arrow 2).

Screenshot

Uncheck the box! It is already unchecked in this image.

Now the style should not be telling the spell checker to skip over it.

In my experience, this sometimes happens when a document created/modified in Word 2010 is then edited in a later version of Word, though I really don’t know exactly how it happens.

If that does not work, the Comment Text style may be inheriting Do not check from its parent style — usually Normal (you can see in the image above that Normal is in the ‘Style based on:’ field — that’s the parent style that Comment Text is inheriting many properties from). So do the same for Normal and then try again. Doing this for Normal will also make sure that the red wiggly line appears under misspelt words. If you are finding that Word will do the spell check when you click Spelling & Grammar from the Review ribbon, but is not highlighting errors, this could be why.

If that does not work — or you may try this first, I don’t know — go to File → Options → Proofing and go to the bottom. Uncheck Hide spelling errors in this document only (and also, if you want, Hide grammar…) and maybe click Recheck.

screenshot

More boxes — uncheck Hide spelling errors in this document only (and also if you want Hide grammar…) and maybe click Recheck.

Not sure if all steps necessary, but this was what I ended up doing.

YMMVW (your mileage may vary wildly)

SanDisk Sansa View weird behaviour

Old mp3 player, SanDisk Sansa View Version 01.03.02P. Plugged into computer, computer would not see it. mp3 player worked fine. Screen worked, it showed it was charging, but neither Windows 7 nor Linux could see it; did not show up with dmesg or lsusb.

Tried all sorts of things. Because it was not detected, when plugged into the PC it could be turned off and on as if not plugged in. I could step through the menus.

Weirdly, when I tried to actually play a file, then it suddenly woke up and connected to the PC (Win or Lin) and I could see the files.

Just a hint for anyone suffering…

 

Hints, lies and guesses.

Debian current on an old laptop: Toshiba Satellite A40

Trying to make an old laptop useful. The main issue is that I don’t want it too exposed on the internet, and Linux allows installation of a current browser.

Machine specs are low by current standards — about 484 MB RAM, 2.7 GHz Celeron, 40 GB HDD, but it does have PAE, which means lots of distros are acceptable. So I start with Debian as usual.

First, booted into Windows xp and cleaned up the disk, uninstalled a bunch of stuff and defragged it. Ran ToriOS as a live disk (happened to have it from playing on an old non-PAE system) and used gparted to reduce the size of the Windows partition to about 18 GB, leaving a similar amount of space for Linux plus 1 GB of swap.

Then booted Debian 9.5 i386 DVD (having downloaded and burned the iso).

Booted with a Linksys wifi PCMCIA card in the machine, since it does not come with built-in wifi. The Debian installer found it no worries. Chose the right authentication protocol (WPA/WPA2) automatically. Entered the wifi password and we were away.

Stepped through the install, doing nothing remarkable.

Chose the second big partition to install to (first is xp) and the small one at the end of the disk for swap. That meant selecting manual partitioning. I had already used ToriOS to set up and format the partitions.

Set Windows partition as ‘Do not use’. Could have mounted it, but chose not to.

Set ext4 partition as /.

Set swap as swap.

Then start installing the base system.

Sorry, I am not bothering with screenshots. I think whether Debian is usable on such an old machine is more interesting than the details of the install.

Windows, for the record, was running arthritically.

Configured apt and went on to installing software. Configuring apt took a few minutes — probably due to lousy bandwidth.

Chose Xfce as the desktop environment, but also installed MATE. Gnome and KDE are too heavy. So is LXDE.

Set install to go and wandered off to watch some TV.

OK, all fine. On reboot, ethernet is fine, but it sees but will not connect to the wifi.

Reboot wifi router (it’s done this sort of thing before). Yep, that works. It’s the router, not the distro (same problem with other machines that use that router).

OK, so everything seems to work.

Sorry for the lack of screenshots.

Now, speed — yes, it is a bit slow to boot and to open applications, but they run all right once opened. Much more usable than Windows xp, and much more secure. A win.

The machine currently boots into MATE and runs Firefox, pixel painting and LibreOffice all without any trouble at all. Opening applications can be a little slow, and with the limited RAM it is best to avoid running a lot of stuff in parallel (or having a lot of tabs open in Firefox). But the computer has certainly been made useful again.

Done.

 

 

WIldcard Search & Replace and Track Changes in Word

Begin rant.

 

I noted this bug once before. Put simply, if Track Changes is turned on in Microsoft Word and you try to do a wild card search and replace, it transposes the replace and mucks it up.

For example, I created a document with the word ‘card’ in it (as in wildcard), and then opened the Search and Replace box and selected Use wildcards and gave it the following instruction:

Find: ([a-c])r([d-e])

Replace with: \1OO\2

A word of explanation: Round brackets denote a numbered field. [a-c] means any character in the range a to c. So this command will look for patterns a b or c followed by r followed by d or e. The first matching character will be called group 1 and the third group 2. So the replace command should print the first group, then OO where the r was and then the second group, so that ‘card’ goes to ‘caOOd’.

But it does not. It prints ‘cadOO’ — group 1, then group 2 then OO — it transposes the fields. This is illustrated in the image below.

Screen shot from Word 97.

The search and replace box in Word. Track changes information omitted for clarity, but it is turned on.

Now, this is a pain of a bug for an editor who likes to save themselves some work in Word. Why? Because the client should get to see and OK/reject all the changes we make, and for that we use track changes, but this search and replace only works properly with track changes turned off.

So I can either forgo the tracking and edit quickly or edit manually. (Note: I know that in this example I did not need to use wildcards; it is just a demo!)

The really annoying thing is that the screen shot above is from Office 97. That is 21 years ago. This bug is present in the current version of Word, as of November 2018. This bug is 21 years old. This bug is allowed to vote, drink and fornicate. This surely says something about the culture at Microsoft. They sure don’t aim for quality. Maybe not enough people have complained and they’ve got a culture of fixing squeaky wheels instead of aiming for excellence. Probably they spell it ‘eksalense’.

Whatever. It’s pretty underwhelming.

Take home message is that if you can’t get it to work, it is not your fault! Solutions are either (1) forgo the change tracking and turn it off to do this, or (2) write your own Word macro to do it. Neither is very satisfactory.

I’ve long felt that MS has added very little valuable functionality to Word (or Excel) since Office 97 (and the equation editor has gone backwards), but I did not realise just how little progress had been made. Wow.

 

Rant ends.

ToriOS on Compaq Armada E500 laptop

Compaq Armada E500. Pentium III and about 400MB RAM, new 40GB IDE HDD. Sticker saying ‘Designed for Windows 2000’ but no OS. It is old enough to have a floppy disk drive and only one USB port — it comes from that brief time when the floppy had not yet died but the USB was around. Quite a good spec machine for the day.

ToriOS is a non-PAE Linux distribution, the install image based on Debian 8. It is designed to suit computers that would have come with Windows xp, which is now even more of a security problem than it was when it was maintained. Since this old thing would have run with xp  if asked, and came with 2000 which is a kind of ‘xp before xp’, ToriOS seems like a good choice.

Here is the process of installing it on the Armada — note that the computer was offline at the time.

  1. Removed all USB sticks (there’s only 1 plug), entered the BIOS (just hit function and delete keys on bootup until something worked) and made sure that the multibay (ie the CDROM drive) was before the HDD in the boot order (HDD already had ReactOS on it, but I was looking to toast it).
  2. Booted from ToriOS CD, chose ‘ToriOS verbose’ from the menu.
  3. Waited for desktop. Verbose output suggested the hardware detection was pretty good.
  4. Chose OBI Install to HDD from desktop.
  5. It’s not quite ‘one button install’, but close:
    1. double-click the icon
    2. Select ‘OK’ — I do want to toast the whole HDD, so no problem there
    3. Choose ‘select tarball’ and browse to /tarball and choose the ToriOS-i386-jessie.tar.gz tarball
    4. Choose ‘install’
    5. Confirm
    6. Confirm again.
    7. Choose the HDD to install to. Only one on my list anyway
    8. Check the ‘are you sure’ box and OK.
  6. Watch while the install program extracts the tarball.
  7. Set name and password for a user.
  8. Set timezone and locale information, including keymap.
  9. Do not install PAE kernel (computer is not on internet anyway), and do not update (ditto).
  10. Select device for bootloader (have no choice in my case).
  11. View install log (see below).
  12. Remove CD and reboot.
  13. Login as user — no worries. Looks good.

Summary — completely painless and as advertised. Took about half an hour, not too bad at all on an old machine. I have not yet added extra software, but there are one-button installers to do that. Also, the very light-weight install is quite snappy, at least for minor desktop tools. Need to explore use of heavier software still.

So I’ve not lived with ToriOS on the old machine, but the install could hardly have been easier. Of course, I did choose a simple one-partition install rather than making it share the disk.

install.log

[starter]
3.1.2 
[functions]
Tarball path: /tarballs zmktbl to make the tarballs OBI path: /usr/share/OBI 
[functions]
OS to install: ToriOS-i386-jessie
Menu Title: OS to install: ToriOS-i386-jessie 
[functions]
starter chose: s 
[functions]
OS to install: ToriOS-i386-jessie
Menu Title: OS to install: ToriOS-i386-jessie OS to install: ToriOS-i386-jessie
Menu Title: OS to install: ToriOS-i386-jessie 
[functions]
starter chose: i 
[functions]

[functions]
Found pid for Zenity in obi: 5384 
[position_win]
Found 0x01800004 for the window to position 
[mkctrl]
mkctrl()--->obi_system=ToriOS-i386-jessie tarball= rootpart= swappart= 
[mkctrl]
[mkctrl]Selected:/usr/share/OBI/selected OBI directory:/usr/share/OBI Tarball path:/tarballs 
[mkp2p1]
Selected Tarball: /tarballs/ToriOS-i386-jessie.tar.xz selecting mkp2p1 (with swap) 
[functions]
mkctrl()--->obi_system=ToriOS-i386-jessie tarball=/tarballs/ToriOS-i386-jessie.tar.xz rootpart= swappart= 
[functions]
[mkctrl]Selected:/usr/share/OBI/selected OBI directory:/usr/share/OBI Tarball path:/tarballs 
[list_drives]
DRIVE: Name: ata-HTS541040G9AT00 Dev: /dev/sda Size: 40GB 
[functions]
ltest0=rootfs ltest1=/sr0 livedrive=/sr0 tmpstr=Name: ata-HTS541040G9AT00 Dev: /dev/sda Size: 40GB usbonly=false 
[functions]
DON'T unmount: aufs for /tarballs/ToriOS-i386-jessie.tar.xz
[list_drives]
DRIVE: Name: ata-HTS541040G9AT00 Dev: /dev/sda Size: 40GB 
[list_drives]
DRIVE: Name: ata-HTS541040G9AT00 Dev: /dev/sda Size: 40GB 
[functions]
Window sizing Text length:60 Guessed Width=480 (if this is too small it will default to 500) 
[functions]
[select-device] dd if=/dev/zero bs=4096 count=256 of=/dev/sda 
[functions]
Installing: ToriOS-i386-jessie Target Device: /dev/sda ... mklub ToriOS-i386-jessie /tarballs/ToriOS-i386-jessie.tar.xz /dev/sda 
[mkp]
ToriOS-i386-jessie
/tarballs/ToriOS-i386-jessie.tar.xz
/dev/sda
RAM=393216
Sectors=78140160
Sector Size=512
Diskms=15625000
Swapsize=940 MibiBytes 
[mkp]
umount --force /dev/sda* 
[mkp]
Found pid for Zenity in mkp: 5384 
[position_win]
Found 0x01800004 for the window to position 
[mkp]
/tarballs/ToriOS-i386-jessie.tar.xz (the tarball) is expanded, syncing the drive 
[mkp]
1 ext partitions: 
[mkp]
1 swap partitions: 
[mkp]
rootpart=/dev/sda1 
[mkp]
swappart=/dev/sda2 
[mkp]
OLD swap uuid=c2fc0edd-b71a-438e-96a6-21b15c62d898 
[mkp]
NEW swap UUID=dfb81bdb-0210-4b5c-9ec1-7787346be8ae
[mkp]
rootpart=/dev/sda1 OLD root UUID=c28e73cc-f2b7-4ccf-95e9-cbaaead1ac4b NEW root UUID=daacbddf-d286-4fef-a9b4-d3b43ca1ca9b 
[mkp]
(SWAP UUIDs)changed c2fc0edd-b71a-438e-96a6-21b15c62d898 to dfb81bdb-0210-4b5c-9ec1-7787346be8ae in /mnt/etc/fstab0 
[mkp]
installed /etc/fstab:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# 
# / was on /dev/sdd1 during installation
UUID=daacbddf-d286-4fef-a9b4-d3b43ca1ca9b / ext4 errors=remount-ro 0 1
# swap was on /dev/sdd5 during installation
UUID=dfb81bdb-0210-4b5c-9ec1-7787346be8ae none swap sw 0 0

[mkp]
grub config file: /mnt/boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi

function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}

if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 daacbddf-d286-4fef-a9b4-d3b43ca1ca9b
else
search --no-floppy --fs-uuid --set=root daacbddf-d286-4fef-a9b4-d3b43ca1ca9b
fi
font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=-1
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 daacbddf-d286-4fef-a9b4-d3b43ca1ca9b
else
search --no-floppy --fs-uuid --set=root daacbddf-d286-4fef-a9b4-d3b43ca1ca9b
fi
insmod png
if background_image /boot/grub/torios-grub.png; then
true
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="${1}"
}
set linux_gfx_mode=
export linux_gfx_mode
menuentry 'ToriOS GNU/Linux' --class torios --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-daacbddf-d286-4fef-a9b4-d3b43ca1ca9b' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 daacbddf-d286-4fef-a9b4-d3b43ca1ca9b
else
search --no-floppy --fs-uuid --set=root daacbddf-d286-4fef-a9b4-d3b43ca1ca9b
fi
echo 'Loading Linux 3.16.0-4-586 ...'
linux /boot/vmlinuz-3.16.0-4-586 root=UUID=daacbddf-d286-4fef-a9b4-d3b43ca1ca9b ro quiet splash
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.16.0-4-586
}
submenu 'Advanced options for ToriOS GNU/Linux' $menuentry_id_option 'gnulinux-advanced-daacbddf-d286-4fef-a9b4-d3b43ca1ca9b' {
menuentry 'ToriOS GNU/Linux, with Linux 3.16.0-4-586' --class torios --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-4-586-advanced-daacbddf-d286-4fef-a9b4-d3b43ca1ca9b' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 daacbddf-d286-4fef-a9b4-d3b43ca1ca9b
else
search --no-floppy --fs-uuid --set=root daacbddf-d286-4fef-a9b4-d3b43ca1ca9b
fi
echo 'Loading Linux 3.16.0-4-586 ...'
linux /boot/vmlinuz-3.16.0-4-586 root=UUID=daacbddf-d286-4fef-a9b4-d3b43ca1ca9b ro quiet splash
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.16.0-4-586
}
menuentry 'ToriOS GNU/Linux, with Linux 3.16.0-4-586 (recovery mode)' --class torios --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-4-586-recovery-daacbddf-d286-4fef-a9b4-d3b43ca1ca9b' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 daacbddf-d286-4fef-a9b4-d3b43ca1ca9b
else
search --no-floppy --fs-uuid --set=root daacbddf-d286-4fef-a9b4-d3b43ca1ca9b
fi
echo 'Loading Linux 3.16.0-4-586 ...'
linux /boot/vmlinuz-3.16.0-4-586 root=UUID=daacbddf-d286-4fef-a9b4-d3b43ca1ca9b ro single 
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.16.0-4-586
}
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Debian GNU/Linux (8.5) (on /dev/sdc1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-b92bf897-4758-46e7-82a2-5365c61073ca' {
insmod part_msdos
insmod ext2
set root='hd2,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@1,msdos1' --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1 b92bf897-4758-46e7-82a2-5365c61073ca
else
search --no-floppy --fs-uuid --set=root b92bf897-4758-46e7-82a2-5365c61073ca
fi
linux /boot/vmlinuz-3.16.0-4-586 root=UUID=b92bf897-4758-46e7-82a2-5365c61073ca ro quiet splash
initrd /boot/initrd.img-3.16.0-4-586
}
submenu 'Advanced options for Debian GNU/Linux (8.5) (on /dev/sdc1)' $menuentry_id_option 'osprober-gnulinux-advanced-b92bf897-4758-46e7-82a2-5365c61073ca' {
menuentry 'ToriOS GNU/Linux (on /dev/sdc1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.16.0-4-586--b92bf897-4758-46e7-82a2-5365c61073ca' {
insmod part_msdos
insmod ext2
set root='hd2,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@1,msdos1' --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1 b92bf897-4758-46e7-82a2-5365c61073ca
else
search --no-floppy --fs-uuid --set=root b92bf897-4758-46e7-82a2-5365c61073ca
fi
linux /boot/vmlinuz-3.16.0-4-586 root=UUID=b92bf897-4758-46e7-82a2-5365c61073ca ro quiet splash
initrd /boot/initrd.img-3.16.0-4-586
}
menuentry 'ToriOS GNU/Linux, with Linux 3.16.0-4-586 (on /dev/sdc1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.16.0-4-586--b92bf897-4758-46e7-82a2-5365c61073ca' {
insmod part_msdos
insmod ext2
set root='hd2,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@1,msdos1' --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1 b92bf897-4758-46e7-82a2-5365c61073ca
else
search --no-floppy --fs-uuid --set=root b92bf897-4758-46e7-82a2-5365c61073ca
fi
linux /boot/vmlinuz-3.16.0-4-586 root=UUID=b92bf897-4758-46e7-82a2-5365c61073ca ro quiet splash
initrd /boot/initrd.img-3.16.0-4-586
}
menuentry 'ToriOS GNU/Linux, with Linux 3.16.0-4-586 (recovery mode) (on /dev/sdc1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.16.0-4-586-root=UUID=b92bf897-4758-46e7-82a2-5365c61073ca ro single-b92bf897-4758-46e7-82a2-5365c61073ca' {
insmod part_msdos
insmod ext2
set root='hd2,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@1,msdos1' --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1 b92bf897-4758-46e7-82a2-5365c61073ca
else
search --no-floppy --fs-uuid --set=root b92bf897-4758-46e7-82a2-5365c61073ca
fi
linux /boot/vmlinuz-3.16.0-4-586 root=UUID=b92bf897-4758-46e7-82a2-5365c61073ca ro single
initrd /boot/initrd.img-3.16.0-4-586
}
}

### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

[mkhome]
home partition is not specified 
[mkp]
Filename Type Size Used Priority /dev/sda2 partition 963372 0 3 
[user-config]
Removed tarball user named: torios 
[user-config]
Removing /mnt/home/torios 
[user-config]
Added username 
[user-config]
the password entries match, go ahead ...

set password for username

username
Groups: audio,cdrom,plugdev,users,adm,video,dip,floppy,sudo,netdev
[user-config]
No autologin for: username. 
[user-config]
Updating: xdg-dirs 
[user-config]
copied /etc/skel 
[user-config]
chown recursivley /home/username for username 
[user-config]
changed gksu to sudo mode for username 
[user-config]
Computer supports PAE 
[user-config]
No install PAE chosen. 
[mkp]
Installing Bootloader 
[mkp]
3.1.2 
[mkp]
saveLOG()--> /mnt/home/username/mnt/home/username/obi-installer-2018-01-05.log 
[mkp]
saved /root/obi-installer.log as /mnt/home/username/obi-installer-2018-01-05.log 
[mkp]
removed HTML tags from /mnt/home/username/obi-installer-2018-01-05.log 
[functions]

[hw-progress]
e100 
[hw-progress]
e100 
[hw-progress]
hw-progress hardware-search e100 e100 
[hw-progress]
mount -t proc proc /mnt/proc 
[hw-progress]
mount -t sysfs sys /mnt/sys 
[hw-progress]
mount -o bind /dev /mnt/dev 
[hw-progress]
cp /etc/hosts 
[hw-progress]
cp /etc/resolv.conf 
[hw-progress]
chroot /mnt bash -c hardware-search e100 e100 
[hw-progress]
remove directory /firmware/ from /mnt 
[hw-progress]
umount /mnt/{proc,sys,dev} 
[hw-progress]
2018-01-05 Look for e100 Look for e100 Look for e100 Look for e100 
[functions]

[list_drives]
DRIVE: Name: ata-HTS541040G9AT00 Dev: /dev/sda Size: 40GB 
[list_drives]
DRIVE: Name: ata-HTS541040G9AT00 Dev: /dev/sda Size: 40GB 
[list_drives]
DRIVE: Name: ata-HTS541040G9AT00 Dev: /dev/sda Size: 40GB 
[functions]
[grub-installer] Destination: /dev/sda 
[functions]
[grub-installer] Bootloader destination: /dev/sda 
[functions]
[grub-installer] unmounted all chroot bound filesystems 
[functions]
[grub-installer] Successfully unmounted chroot

There she goes again.