WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: dCorePlus-bionic UEFI/BIOS iso  (Read 15413 times)

Offline PDP-8

  • Hero Member
  • *****
  • Posts: 915
Re: dCorePlus-bionic UEFI/BIOS iso
« Reply #15 on: July 14, 2019, 02:29:38 PM »
First, dude you did an *awesome* job.  I'm like a kid in a candy store seeing dCore booting on my uefi-only boxes.

TinyCore members look away:

I used Rufus - emulating how a new user who only has a windows box would want to explore dCore.  I'll try dd'ing it from another unix box later.

BUT, the only two options I used was the GPT format (because I have to on my uefi only boxes), but when prompted I only used the first option of ISO.

I'll try again, with GPT and then opt for DD mode and see how that goes!

Thanks for putting up with my self-created problems....
That's a UNIX book! - cool  -- Garth

Offline PDP-8

  • Hero Member
  • *****
  • Posts: 915
Re: dCorePlus-bionic UEFI/BIOS iso
« Reply #16 on: July 14, 2019, 03:40:27 PM »
DD mode + GPT results in no detection by the bios at all.

I tried both ways, first with Rufus GPT + DD mode.  Nada.

I headed over to my Devuan box, and dd'ed manually.  Something from memory like this:

Code: [Select]
dd < dCoreBionic-uefi-xx.iso > /dev/sdb  bs=4M conv=sync,noerror
and it finished with no problems.  I used the new uefi iso you provided.

Same result - none of my uefi-only machines recognize it at all as a valid boot device.

I even perused the Rufus FAQ, where sneaky issues with isohybrids / grub / fat32 support, a notice about Manjaro, UEFI and the whole scene:

https://github.com/pbatard/rufus/wiki/FAQ

I couldn't see anything wrong, but that is a bit above me really.

P.S. crossed fingers and tried MBR with either ISO or DD mode, and no detection there either.

So for some reason, only GPT and ISO mode with Rufus, even if not perfect, is the only combo that boots dCore on actual hardware.
« Last Edit: July 14, 2019, 03:58:30 PM by PDP-8 »
That's a UNIX book! - cool  -- Garth

Offline PDP-8

  • Hero Member
  • *****
  • Posts: 915
Re: dCorePlus-bionic UEFI/BIOS iso
« Reply #17 on: July 15, 2019, 12:57:22 AM »
dCore-usbinstall works fine!

Finally got around to it Jason - nice scripting!

I chose a Bionic UEFI release candidate, and everything works as it should!  Partitions of course are now just fine.

Only suggestion would be to put that grub delay countdown in the usbinstall-burned versions too, otherwise a user might freak at the black screen.

And maybe think about changing the wallpaper in the downloaded iso so that the new user knows that this is just an installer, and should run dCore-usbinstall?  Or maybe dump a readme file on the background because you KNOW they will try to use the initial burn as a functioning system, and not as an interactive installer.

Nice work bro, I'm pumped!

That's a UNIX book! - cool  -- Garth

Offline PDP-8

  • Hero Member
  • *****
  • Posts: 915
Re: dCorePlus-bionic UEFI/BIOS iso
« Reply #18 on: July 15, 2019, 12:22:08 PM »
Making a backup / duplicate ..

Now that your awesome scripting has created a nice bootable stick done the way you like it, I decided to back it up as an image so I can create another quickly with dd

Code: [Select]
dd < /dev/sda > Jasons_Bionic_uefi.img
Now to duplicate I'll turn it around to a new stick (simply because I don't like dd'ing stick to stick and I also have an img file for backup I can send to someone else in the office I use dCore to work with etc etc...  dd options excluded from example..

Code: [Select]
dd < ./Jasons_Bionic_uefi.img > /dev/sdb
And yeah, that stick has to be the same size or larger.  And maybe expand the filesystem if I do use a larger stick later ...

Which makes me wonder if the distribution iso could simply already be in this format, rather than go through the dCore-usbinstall routine.  As cool as that is.

Just wondering - not complaining.
« Last Edit: July 15, 2019, 12:49:32 PM by PDP-8 »
That's a UNIX book! - cool  -- Garth

Offline Jason W

  • Administrator
  • Hero Member
  • *****
  • Posts: 9730
Re: dCorePlus-bionic UEFI/BIOS iso
« Reply #19 on: July 15, 2019, 05:51:39 PM »
Glad dCore-usbinstall is working as expected on your machines.   I will add the grub progress thing into the resulting usb boot as is with the iso.  I see that Computesticks are not that expensive at all, getting one would allow me to test uefi on real hardware, at least that one make and model.

Offline PDP-8

  • Hero Member
  • *****
  • Posts: 915
Re: dCorePlus-bionic UEFI/BIOS iso
« Reply #20 on: July 15, 2019, 10:58:12 PM »
Ok cool.  Just some notes, I'm using real Intel computesticks - there are quite a few off-brand lookalikes.

I don't spend much time trying to get hdmi audio, nor wifi to work natively if they give me problems with alternate operating systems.  If they don't work, I just use a working wi-fi dongle, and a usb<>audio dongle if I need sound from headphones.  Basically mostly used as classic workstations, not multimedia boxes. :)

A few tips on 3 different versions

- I have NOT tried using *core on the 1st generation stick that came with Ubuntu 14.04 by default.  Model STCK1A8LFC.  If tempted, do NOT try to update it - not enough room on emmc as many consumers found out!  I didn't play with ubuntu on it that much, but some suggest that updating that means you MUST put in the optional micro-sd card to do so.  Or spend days in synaptic removing a lot of software first.

Windows 8.1 version STCK1A32WFC
Plenty of room, but I don't mess with the windows install.  I don't even try to install *core on the emmc.  I only use external sd cards for boot and operation.  I can boot Porteus from the micro-sd card should I choose.

Default o/s: Windows 8.1 32-bit
Optional o/s: Ubuntu 14.04 LTS 64 bit.  Not on board.  Works for using any other 64-bit distro!


Windows 10.1  model CS125  STK1AW32SC
Again, plenty of room, but I leave the os on the emmc alone.  Intel wifi works automatically with dCore.  Can NOT boot from micro-sd card - this was possibly a security precaution for digital signage - a usb key could easily be seen by employees, but a sneaky micro-sd card, not so easy.  Don't waste time trying to boot from the micro-sd.  At least I didn't.

Default OS:  Windows 10.1 32-bit.
Optional o/s: Windows 64 bit & Android.  Neither on board. I use this setting for running 64-bit dCore!



BIOS updates - great support from that from Intel.  I normally just use the bin file on a dedicated sda device, reboot and update that way.  Operational and security (such as it is) fixes.

Example:  the old windows 8.1 stick bios update as of 6/20/2019 can be found here:

https://downloadcenter.intel.com/product/86612/Intel-Compute-Stick-STCK1A32WFC

I don't mess with windows and program updates really, but hey - it will run Rufus offline just fine. :)

Even if set for Windows boot in the bios, one can *try* that with say a 64 bit dCore if the other choices like linux / android / ubuntu etc don't work.  But they do seem to be specific to 32 or 64 bit.  Try it anyway.

A 4-port passive hub seems to suffice for running dCore with keyboard / mouse / usb boot stick / wifi if needed and or an ethernet <> usb dongle too with the supplied  power supplies.  But don't push it like a lot of raspberry pi folk do. :)


« Last Edit: July 15, 2019, 11:31:10 PM by PDP-8 »
That's a UNIX book! - cool  -- Garth

Offline PDP-8

  • Hero Member
  • *****
  • Posts: 915
Re: dCorePlus-bionic UEFI/BIOS iso
« Reply #21 on: July 16, 2019, 12:53:21 PM »
OT: computestick still not recognizing your dCore usb?

Q: I've gone in and changed the bios to recognize some form of 64 bit operating system, be it Windows64, Ubuntu LTS 64, Linux 64 bit, etc etc, rebooted.

Yet my dCore drive does not seem to be in the boot order listing, or not available as a boot option with F10.

A: With power on, remove and reinsert your dCore drive, and restart and get into the bios again.  At your option, place the dCore usb first in the list, but that's not mandatory.

It seems that when you change your operating system in the bios, it takes a hot removal and reinsertion for the new os on the usb stick to be recognized.  It will stay recognized unless you change your os back to windows, and you change it back to an alternate 64 bit os yet again.  Just remove and reinsert the dCore drive.

Unless one is in the habit of switching back and forth between windows and an alternate os in the bios, once set it is not a problem.  I suppose one could dual-boot from the windows emmc device, but I'm not touching that and keeping things simple.

Just something to save some headaches. :)
« Last Edit: July 16, 2019, 12:58:56 PM by PDP-8 »
That's a UNIX book! - cool  -- Garth

Offline Jason W

  • Administrator
  • Hero Member
  • *****
  • Posts: 9730
Re: dCorePlus-bionic UEFI/BIOS iso
« Reply #22 on: July 19, 2019, 05:49:32 PM »
PDP-8, I tried the cloning of the usb install, and it seems to work ok. Below is what I did.  I used a script to make a 360MB  GPT partition and install grub and the dCorePlus-bionic files, script was basically taken from dCore-usbinstall.  I did the below command to make a backup that is a little larger than the partition, this creates a 361MB image of the partition.  /dev/sdb is my usb device, of course anyone should always be very very sure of your device name whenever using dd:

Code: [Select]
dd if=/dev/sdb of=dCorePlus-bionic-usbimage.img  status=progress bs=1M count=361


Then I can dd it to another usb with the below command:

Code: [Select]
dd if=dCorePlus-bionic-usbimage.img of=/dev/sdb status=progress bs=1M count=361


This leaves the sdb usb with the rest of it being free space, and any usb drive that is larger than 361MB would work to boot with.  Then I created a Linux partition with ext2 on the free space as sdb2.  Can be done easily of course with cfdisk or fdisk, then then mke2fs.  To use this ext2 partition for the TCE directory, I added a label to it and edited boot/grub/grub.cfg on the GPT partition.  Kind of like

tune2fs -L bionic /dev/sdb2

And then change the following beginning of line in boot/grub/grub.cfg:

linux /EFI/dCore/vmlinuz-bionic quiet

to:

linux /EFI/dCore/vmlinuz-bionic quiet tce=LABEL=bionic

Or, just dd the image to usb, and boot and install and run dCore-usbinstall. 

The GPT image I created with this is located at the below link.  Test it as I am curious if you get the same results.  This is a quick trick to get dCore installed to usb from a Linux distro rather than using Rufus, but does work at least here.

http://tinycorelinux.net/dCore/x86/release_candidates/dCore-bionic/testing/dCorePlus-bionic-usbimage.img
http://tinycorelinux.net/dCore/x86/release_candidates/dCore-bionic/testing/dCorePlus-bionic-usbimage.img.md5.txt
« Last Edit: July 19, 2019, 06:08:25 PM by Jason W »

Offline PDP-8

  • Hero Member
  • *****
  • Posts: 915
Re: dCorePlus-bionic UEFI/BIOS iso
« Reply #23 on: July 20, 2019, 02:23:39 AM »
Jason - that ROCKS!

I had no problems whatsoever using dd on that image and having it boot.  I used both your dd options, and my own preferences for that, and bang - no problems either way.

I think I'm starting to get it - one can download the exact image they want, dd it, and take care of their own preferences for onboard / outboard / existing filesytems for the tce directory proper.

OR, they can use it as an installer, and even if they download a version that is not to their taste, they can simply use dCoreusbinstall to set it up the way they like that way too.

NICE JOB!

P.S. I jumped the gun, and tried some 3rd party stuff, even though that isn't part of the plan.  Just so lurkers don't get weirded out:

Balena Etcher - no longer complains, and readily accepts the image, burns, and verifies it.  But leaves you at the normal grub prompt (not grub rescue)

Rufus - recognizes image, and greys out ALL options for the user (heh, less to go wrong) - all they can do is burn.  Leaves you at the normal grub prompt.

Chromebook - renamed the img extension to .bin, and used the recovery utility to burn the dCore image as a "local image".  It finished, but I forgot to write down what the result was - I think I messed it up, but at least it finished and didn't complain.  Not expecting it to work - just some additional data...

Not expecting these to work - DD was just freaking awesome.  But thought it interesting.

Much of the success in either iso or img format I think rests upon the more up to date versions of syslinux and/or grub that you included for uefi-only machines.  So thanks again for doing that.
« Last Edit: July 20, 2019, 02:32:49 AM by PDP-8 »
That's a UNIX book! - cool  -- Garth

Offline PDP-8

  • Hero Member
  • *****
  • Posts: 915
Re: dCorePlus-bionic UEFI/BIOS iso
« Reply #24 on: July 20, 2019, 12:36:22 PM »
Info from Gparted:

Ok, so the dd of the testing image boots fine.

However, I noticed that on Porteus, which tries to automount attached devices it doesn't show up.  But I proceeded with Gparted on my only /dev/sda device anyway since I want to use an ext2 filesystem for persistent storage on the rest of it.

From Gparted 1.0.0:

Code: [Select]
Invalid argument during seek for read on /dev/sda
Retry | Cancel | Ignore

So I chose to ignore it.

Code: [Select]
Ignore:
The backup GPT table is corrupt, but the primary appears ok, so that will be used.

Trying to make an ext2 filesystem anyway:
Code: [Select]
No partition table found on device /dev/sda
So that is where I stopped, as trying to create a partition table will wipe out all data on the /dev/sda device.

Strangely, this is a lot of fun and interesting...
« Last Edit: July 20, 2019, 12:44:08 PM by PDP-8 »
That's a UNIX book! - cool  -- Garth

Offline PDP-8

  • Hero Member
  • *****
  • Posts: 915
Re: dCorePlus-bionic UEFI/BIOS iso
« Reply #25 on: July 20, 2019, 01:46:53 PM »
Corruption?  Nope.

Just to be sure, I downloaded the img file, and the md5 and compared.  All ok there.  But I tried again anyway with the same results of Gparted complaining about the backup GPT table.

Still VERY cool to dd and have it come up graphically like a cd.

It works with tce directories located on another filesystem, just seems that trying to put your own on the /dev/sda device itself is a little cranky - at least with gparted 1.0.0 throwing up warnings.

With all this dd'ing and formatting, I'm always reformatting with tools that totally reset - wipe the device of any lingering partition tables - that even though visually clean with normal tools, can sometimes be left in the *controller* of the devices.

We'll see.  STill lovin' it so far...
That's a UNIX book! - cool  -- Garth

Offline PDP-8

  • Hero Member
  • *****
  • Posts: 915
Re: dCorePlus-bionic UEFI/BIOS iso
« Reply #26 on: July 20, 2019, 04:20:14 PM »
Ah, maybe I'll play with gdisk or current parted...

Here we go - aha!

Code: [Select]
root@porteus:/home/guest# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.4

Warning! Disk size is smaller than the main header indicates! Loading
secondary header from the last sector of the disk! You should use 'v' to
verify disk integrity, and perhaps options on the experts' menu to repair
the disk.
Caution: invalid backup GPT header, but valid main header; regenerating
backup header from main header.

Warning! One or more CRCs don't match. You should repair the disk!
Main header: OK
Backup header: ERROR
Main partition table: OK
Backup partition table: ERROR

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: damaged

****************************************************************************
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
****************************************************************************

We'll see..

Ok, merely loading my /dev/sda with gdisk and just letting it (w)rite the partition table out seems to have fixed some things...

Code: [Select]
Command (? for help): w
Caution! Secondary header was placed beyond the disk's limits! Moving the
header, but other problems may occur!

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
The operation has completed successfully.
root@porteus:/home/guest# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.4

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Let's see what happens after reboot .


« Last Edit: July 20, 2019, 04:38:59 PM by PDP-8 »
That's a UNIX book! - cool  -- Garth

Offline PDP-8

  • Hero Member
  • *****
  • Posts: 915
Re: dCorePlus-bionic UEFI/BIOS iso
« Reply #27 on: July 20, 2019, 05:09:22 PM »
TOTAL SUCCESS!

gdisk cleaned things up a bit to the point where I Gparted would no longer complain and I could create an ext2 filesystem on the remaining space.

Although I did kind of expect this at first from Gparted:

Code: [Select]
Libparted Warning
Not all of the space available to /dev/sda appears to be used, you can fix the GPT to use all of the space (an extra
2014 blocks) or continue with the current setting.

I allowed gparted to "fix" the gpt table to be able to use the rest of the drive.  At first I wanted to ignore it, but Gparted /libparted complained so much that I caved in and let it fix it.

With ext2 created, and once I placed my tce directory there, dCore-Bionic-usb.img works like a champ.

I ran gdisk again on /dev/sda just to make sure with Gparted tickling the gpt, but gdisk came back with a report of good health.

THANKS JASON!  Man, that was fun - really.  Learned some new stuff too..
That's a UNIX book! - cool  -- Garth

Offline PDP-8

  • Hero Member
  • *****
  • Posts: 915
Re: dCorePlus-bionic UEFI/BIOS iso
« Reply #28 on: July 20, 2019, 11:24:11 PM »
Resolution notes

Ah, desired to see if I can get my native res, 1920x1080x24 working.

Edited /mnt/sda1/boot/grub/grub.cfg and found that this works to do that

Code: [Select]
gfxpayload=keep
linux <rest.of.line.....>
initrd= <rest.of.line.....>
gfxpayload=1920x1080

BUT, the interesting thing is that it *doesn't* work if I specify my color-depth of x24.  Just 1920x1080 works.

Interesting.  I'll look into it.
That's a UNIX book! - cool  -- Garth

Offline Jason W

  • Administrator
  • Hero Member
  • *****
  • Posts: 9730
Re: dCorePlus-bionic UEFI/BIOS iso
« Reply #29 on: July 21, 2019, 09:56:52 AM »
Thanks for testing, I have uploaded a new image below:

http://tinycorelinux.net/dCore/x86/release_candidates/dCore-bionic/testing/dCorePlus-bionic-usbimage.img
http://tinycorelinux.net/dCore/x86/release_candidates/dCore-bionic/testing/dCorePlus-bionic-usbimage.img.md5.txt


The dd command I used create the image and then copy to usb are below.  To create image:

Code: [Select]
dd if=/dev/sdb of=dCorePlus-bionic-usbimage.img  status=progress bs=1M count=365


To copy to usb:

Code: [Select]
dd if=dCorePlus-bionic-usbimage.img of=/dev/sdb  status=progress bs=1M count=365

Using the new dCorePlus-bionic-usbimage.img and the second command to copy to usb, I see no partition errors with fdisk or gdisk.  I think the first image was not quite large enough for the partition, thus the partition errors in gdisk.    But should be fixed now, seems to work here.

I will post the script used to create the dCorePlus-bionic-usbimage.img.

EDIT:  Script posted below, see the first of the script to set variables such as the usb device, and distribution files.  /dev/sdb is the default entry for the usb device, but a safety check is in there.

Code: [Select]
#!/bin/sh

USB="sdb"  ##  The device name of your USB device
GZ="dCorePlus-bionic.gz"  ## Your chosen .gz initrd, needs to be in the current directory.
VMLINUZ="vmlinuz-bionic"  ## Your chosen kernel file, needs to be in the current directory.
SIZE=360  ## Size in MB of the resulting image.
DCORENAME=`basename "$GZ" .gz`
if [ ! -f "$GZ" ]; then
echo " "
echo ""$GZ" not found, exiting.."
exit 1
fi

if [ ! -f "$VMLINUZ" ]; then
echo " "                                                       
        echo ""$VMLINUZ" not found, exiting.."                                       
        exit 1                                                                 
fi

if mount | grep "$USB" > /dev/null 2>&1; then
echo "/dev/"$USB" has mounted partitions, exiting.."
exit 1
fi

#######  Below is a safety check to make sure your chosen device is a USB one.  Delete this section
#  that ends in at the next 7 #######'s if you are sure and don't want the check.

> /tmp/usbinstalldev
for I in `ls /dev/disk/by-id/ | grep usb`; do E=`readlink /dev/disk/by-id/"$I" \
| sed 's/[0-9]*//g' | sed "s/[./]//g"`; grep "^$E" /tmp/usbinstalldev > /dev/null 2>&1 \
|| echo ""$E"_"$I""  >> /tmp/usbinstalldev; done

if grep "^$USB" /tmp/usbinstalldev > /dev/null 2>&1; then
:
rm /tmp/usbinstalldev
else

echo " "
echo "Your chosen device /dev/$USB" may not be USB, exiting...
echo " "
rm /tmp/usbinstalldev
exit 0
fi


#######

[ -d /tmp/usbinstall ] || mkdir -p /tmp/usbinstall
partprobe > /dev/null 2>&1
umount /tmp/usbinstall > /dev/null 2>&1
umount /dev/"$USB"1 > /dev/null 2>&1
mount | grep "$USB"1 && echo /dev/"$USB"1 is still mounted, exiting.. && exit 1
dd if=/dev/zero of=/dev/"$USB" bs=512 count=10000 conv=notrunc > /dev/null 2>&1
wipefs -a /dev/"$USB" > /dev/null 2>&1
udevadm trigger
echo "Creating and formatting /dev/"$USB"1 UEFI compatible GPT partition.."
echo "#!/bin/busybox ash" > /tmp/.dCorefdiskusb
echo " " >> /tmp/.dCorefdiskusb
echo 'echo "g' >> /tmp/.dCorefdiskusb
echo "n" >> /tmp/.dCorefdiskusb
echo "1" >> /tmp/.dCorefdiskusb
echo " " >> /tmp/.dCorefdiskusb
echo "+"$SIZE"M" >> /tmp/.dCorefdiskusb
#echo "Yes" >> /tmp/.dCorefdiskusb
echo "t" >> /tmp/.dCorefdiskusb
echo "1" >> /tmp/.dCorefdiskusb
echo "w" >> /tmp/.dCorefdiskusb
echo "\"|fdisk /dev/"$USB" > /dev/null 2>&1"  >> /tmp/.dCorefdiskusb
sh /tmp/.dCorefdiskusb
partprobe > /dev/null 2>&1
udevadm trigger
sleep 5
echo " "
echo "Creating fat32 filesystem on /dev/"$USB"1"..
mkfs.vfat /dev/"$USB"1
echo " "
mkdir /tmp/usbinstall > /dev/null 2>&1
mount /dev/"$USB"1 /tmp/usbinstall
echo "Installing GRUB on /dev/"$USB"1.. "
grub-install --target x86_64-efi --efi-directory /tmp/usbinstall/ --removable --boot-directory=/tmp/usbinstall/boot
grub-install --target i386-efi --efi-directory /tmp/usbinstall/ --removable --boot-directory=/tmp/usbinstall/boot

mkdir -p /tmp/usbinstall/EFI/dCore > /dev/null 2>&1
cp "$GZ" "$VMLINUZ" /tmp/usbinstall/EFI/dCore/

  echo "set timeout=10" > /tmp/usbinstall/boot/grub/grub.cfg
  echo "menuentry "$DCORENAME-UEFI" {" >> /tmp/usbinstall/boot/grub/grub.cfg
  echo "insmod part_msdos" >> /tmp/usbinstall/boot/grub/grub.cfg
  echo "insmod ext2" >> /tmp/usbinstall/boot/grub/grub.cfg
  echo "insmod part_gpt" >> /tmp/usbinstall/boot/grub/grub.cfg
  echo "insmod fat" >> /tmp/usbinstall/boot/grub/grub.cfg
  echo "insmod gzio" >> /tmp/usbinstall/boot/grub/grub.cfg
  echo "insmod efi_gop" >> /tmp/usbinstall/boot/grub/grub.cfg
  echo "insmod progress" >> /tmp/usbinstall/boot/grub/grub.cfg
  echo "insmod efi_uga" >> /tmp/usbinstall/boot/grub/grub.cfg
  echo "linux /EFI/dCore/"$VMLINUZ" quiet waitusb=8 rd.udev.log-priority=0 net.ifnames=0"  >> /tmp/usbinstall/boot/grub/grub.cfg
  echo "initrd /EFI/dCore/"$GZ"" >> /tmp/usbinstall/boot/grub/grub.cfg
  echo "}" >> /tmp/usbinstall/boot/grub/grub.cfg
  echo " " >> /tmp/usbinstall/boot/grub/grub.cfg

umount /tmp/usbinstall > /dev/null 2>&1
rmdir /tmp/usbinstall > /dev/null 2>&1


« Last Edit: July 21, 2019, 05:24:05 PM by Jason W »