LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 09-06-2017, 09:20 AM   #16
onebuck
Moderator
 
Registered: Jan 2005
Location: Central Florida 20 minutes from Disney World
Distribution: Slackware®
Posts: 13,971
Blog Entries: 46

Rep: Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195
Member response


Hi,

It looks to me that a lot of work is being done without getting useful results.

Why not download a Slackware -Live ISO and use Ubuntu terminal to 'dd' that ISO copy to a USB. Boot that new ISO then you should be able to create the XFCE USB while running a Slackware to avoid any issue(s). Sure you will need to download the required ISO to a known accessible storage.
Quote:
From https://docs.slackware.com/slackware:liveslak
Using the ISO image

The ISO images are hybrid, which means you can either burn them to DVD, or use 'dd' or 'cp' to copy the ISO to a USB stick. Both methods will give you a live environment which will allow you to make changes and seemingly “write them to disk”. The changes will actually be kept in a RAM disk, so a reboot will “reset” the live OS to its original default state. In other words, there is no persistence of data.
I suggest that you look at; https://docs.slackware.com/slackware:liveslak which documents a thorough description of how to generate a USB for any chosen ISO. I have seen many problems with someone trying to create a boot USB using some other Gnu/Linux. Easy way is to use the other Gnu/Linux to 'dd' a copy of the image to the USB therefore when you boot a Slackware Live you can then create a valid persistence ISO using 'iso2usb.sh' script knowing the correct paths and files will be available.

Quote:
From https://docs.slackware.com/slackware:liveslak
Transfering ISO content to USB stick

A script is available which allows you to transfer the ISO image content to a USB stick, making some modifications depending on the script's parameters.
The USB stick will be erased and re-formatted when running this script! Before inflicting any irreversible damage, the script will show you a prompt at which point you can evaluate whether it is safe to continue.
This script, called 'iso2usb.sh', accepts the following parameters:
-c|--crypt size|perc Add a LUKS encrypted /home ; parameter is the requested size of the container in kB, MB, GB, or as a percentage of free space. Examples: '-c 125M', '-c 1.3G', '-c 20%'. -f|--force Ignore most warnings (except the back-out). -h|--help This help. -i|--infile <filename> Full path to the ISO image file. -o|--outdev <filename> The device name of your USB drive. -p|--persistence <name> Custom name of the 'persistence' directory/file. -r|--refresh Refresh the USB stick with the ISO content. No formatting, do not touch user content. -u|--unattended Do not ask any questions. -v|--verbose Show verbose messages. -w|--wait<number> Add <number> seconds wait time to initialize USB. -C|--cryptpersistfile size|perc Use a LUKS-encrypted 'persistence' file instead of a directory (for use on FAT filesystem). -P|--persistfile Use an unencrypted 'persistence' file instead of a directory (for use on FAT filesystem). Examples:
  • Create a USB version of Slackware Live, where the USB stick is known to the system as '/dev/sdX. Note - the value for the output parameter is the device name of the stick and not one of its partitions!
# ./iso2usb.sh -i ~/download/slackware64-live-14.2.iso -o /dev/sdX
  • Create a USB Live like above, but this time adding an encrypted /home filesystem with 750 MB of space, and at the same time increase the wait time on boot to 15 seconds (useful for slow USB media that fail to start the Live OS otherwise):
# ./iso2usb.sh -i slackware64-live-current.iso -o /dev/sdX -c 750M -w 15
  • Create a USB Live with an encrypted /home (allocating 30% of the stick's free space for /home) and where the persistent data will be stored in a container file instead of a directory:
# ./iso2usb.sh -i slackware64-live-current.iso -o /dev/sdX -c 30% -P
  • Create a USB Live with both the /home and the persistent data encrypted (the persistence filesystem will be 300 MB in size):
# ./iso2usb.sh -i slackware64-live-current.iso -o /dev/sdX -c 30% -C 300M
You might have noticed that the “-P” parameter does not accept a size parameter. This is because the unencrypted container file is created as a 'sparse' file that starts at zero size and is allowed to grow dynmically to a maximum of 90% of the initial free space on the Linux partition of the USB stick.
Hope this helps.
Have fun & enjoy!

Last edited by onebuck; 09-06-2017 at 09:25 AM. Reason: add link & comment
 
Old 09-06-2017, 09:53 AM   #17
gaddardumbuk
LQ Newbie
 
Registered: Sep 2017
Posts: 15

Original Poster
Rep: Reputation: Disabled
Yes both of them have been turned off. I'd like to share the procedure that how I've turned the fast boot option off and the complete BIOS options to be sure that I've been doing the right thing all along.
For turning off fast boot:

From "Control Panel" -> "All Control Panel Items" -> "Power Options" -> "System Settings" then Click "Change settings that are currently unavailable" with administirative permissions -> under the "Shutdown settings" menu untick "Turn off fast startup(recommended)" box and Click "Save changes" under Win 8.1

For BIOS options:
It's a American Megatrends Version:223 Aptio setup utility

Under "Advanced Menu":
----------------------
-Network Stack -> [Disabled]

-USB Configurations -> USB Controller Select -> [EHCI]
|-> USB EHCI Debug Port -> [Enabled]

-Plastform Trust Technology -> fTPM -> [Disabled]

Under "Boot Menu":
------------------
(I've got 5 options "Windows Boot Manager", "UEFI: Sandisk"(1st), "UEFI: Sandisk"(2nd), "UEFI HGST HTS54..."(This is 500GB hard drive in the computer), "Disabled"

-Boot option #1 -> [UEFI Sandisk] (1st one)
-Boot option #2 -> [UEFI Sandisk] (2nd one)
-Boot option #3 -> [UEFI HGST HTS54...] (500GB harddisk)
-Boot option #4 -> [Disabled]

(I can select disabled for the 1st,2nd and 3rd boot options but if I select for the 1st 3rd boot option becomes [Disabled] and so on. To select the 1st boot option as [Disabled] all selections must be selected as [Disabled])

Under "Security" menu:
----------------------

-Secure Boot Menu -> Secure Boot Support -> [Disabled]


Under "Save & Exit" menu:
Selectable actions are as follows

-Save changes and exit
-Discard changes and exit
-------------------------
Under "Save Options":
- Save changes
- Discard changes
-------------------------
Under "Boot Override"
- Windows Boot Manager
- UEFI Sandisk (I don't know which one)
- UEFI Sandisk (also I don't know which one)
- UEFI HGST HT54... (500GB harddisk)

- Launch EFI Shell from the filesystem device
-------------------------


After every different action in Aptio setup utility I always select "Save changes" and then by selecting "Save changes & exit" to restart the machine.

I saw a white cursor on the upper left corner of the screen with this setup options for a fraction of time after restarting the machine before it boots into windows by showing a windows logo instead of an asus logo as usual as stated in my previous message. I hope my settings were the correct ones.

I also try look at the files and folders in the 1MB Boot Partition of the usb by mounting it under /mnt/a folder. It has "System Volume Information" folder with a file called "IndexerVolumeGuid" having permissions as follows "755", 100 MB EFI Partition has two folders called "boot" and "EFI". Under "boot" folder I've got "syslinux" folder, no grub or elilo folder, and three files both having permissions 755 called "generic","initrd.img","memtest". Under "EFI" folder I've got a folder called "BOOT" and under the "BOOT" folder I've got a "theme" folder holding 3 font files,1 splash screen png and a liveslak.txt (I guess it's used for splash screen config). Also in "BOOT" folder the following files all having permissions 755:
- bootx64.efi
- grub.cfg
- grub-embedded.cfg
- help.txt
- kbd.cfg
- lang.cfg
- make-grub.sh
- SLACKWARELIVE
- tz.cfg

I'm not sure but maybe I need a 32bit verison of that "bootx64.efi" because I was able to boot ubuntu from the other usb by putting a 32bit efi file called bootia32.efi in to "/EFI/BOOT" directory of USB. I'll try to solve that make-grup.sh. Again I'd like to thank you for your efforts and patience
 
Old 09-06-2017, 10:07 AM   #18
colorpurple21859
LQ Veteran
 
Registered: Jan 2008
Location: florida panhandle
Distribution: Slackware Debian, Fedora, others
Posts: 7,722

Rep: Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674
Quote:
I was able to boot ubuntu from the other usb by putting a 32bit efi file called bootia32.efi in to "/EFI/BOOT
That very well could have been your problem the whole time for booting in efi mode. As far as booting in compatibillty mode I think the problem is the difference between how slackware and Ubuntu has extlinux setup. The hacks that I posted worked on both of my laptops, one is an asus with efi and the other is an older hp with msdos/bios system.
 
Old 09-06-2017, 11:38 AM   #19
gaddardumbuk
LQ Newbie
 
Registered: Sep 2017
Posts: 15

Original Poster
Rep: Reputation: Disabled
Thanks for your suggestion onebuck but by "dd"ing the iso on to a newly partioned (single partition, type:4302) USB by gdisk, I couldn't see the liveUSB in boot options of the bios, by changing the partition type to 0700 and again "dd"ing the ISO this time I could find the liveUSB in bıos but ıt doesn't boots to linux by selecting it or forcing to boot with by boot override option. I've used the Slacklive-64bit-xfce.ıso because 32 bit one hasn't got an EFI option in it as far as I understand.

Again thanks colorpurple for your comments, time and effort. As far as I understand I've got a frankenmachine that has a 32 bit EFI control that is capable of working with 32 and 64bit OS's. Correct me if I'm wrong but I need to find a way to implement a 32 bit bootloader to bypass 32 EFI control and then load a 64 bit OS to computers memory. In other words I need prepare a custom ISO as far as I understand because from the current Slackware ISO's none of them seems to work for me. I'm not sure whether it's technically possible but as far I see I'm booting ubuntu with that 32bit efi file and its 64 bits as far as understand. Somehow I have create that 32bit efi file tailored for Slackware. So I've to read syslinux, grub and elilo man pages througly . Forgive me if I sounded like a mad scientist or a brain surgeon with a chainsaw but I'll really appreciate if anyone could inform me about the thing I'm suggesting is doable, logical or impossible. I'll inform everybody if I reach positive results

By the way those are the links where I got that weird 32 bit efi file I'm not sure whether it helps or not :
http://www.jfwhome.com/2014/03/07/pe...mer-book-t100/
https://github.com/jfwells/linux-asus-t100ta
 
Old 09-06-2017, 01:07 PM   #20
colorpurple21859
LQ Veteran
 
Registered: Jan 2008
Location: florida panhandle
Distribution: Slackware Debian, Fedora, others
Posts: 7,722

Rep: Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674
I went back and reread you first post.
take the file that your downloaded from here: https://github.com/jfwells/linux-asu...t/bootia32.efi and move to /efi/boot/bootia32.efi on the slackware usb. rename the /efi/boot/bootx64.efi to bootx64.replaced so we still have in case we need it for another machine. Create /efi/boot/grub and copy the /efi/boot/grub.cfg to /efi/boot/grub/grub.cfg. reboot and see if the usb will boot in efi mode.

edit: if it still doesn't boot then rename /bootia32.efi to bootx64.efi

Last edited by colorpurple21859; 09-06-2017 at 01:28 PM.
 
Old 09-06-2017, 03:10 PM   #21
gaddardumbuk
LQ Newbie
 
Registered: Sep 2017
Posts: 15

Original Poster
Rep: Reputation: Disabled
by changing the name of the "bootia32.efi" nothing happens but by doing what you've stated without changing the name of the "bootia32.efi" file I faced a new grub 2.02 interface stating that it has minimal bash like options, there isn't box with options like ubuntu's and I've got a bash command prompt like line as shown below, that waits for instructions:

grub>

if I hit tab I could see all available commands.

Last edited by gaddardumbuk; 09-06-2017 at 03:11 PM.
 
Old 09-06-2017, 03:19 PM   #22
colorpurple21859
LQ Veteran
 
Registered: Jan 2008
Location: florida panhandle
Distribution: Slackware Debian, Fedora, others
Posts: 7,722

Rep: Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674
did you copy the grub.cfg file to /efi/boot/grub/?
 
Old 09-06-2017, 03:32 PM   #23
onebuck
Moderator
 
Registered: Jan 2005
Location: Central Florida 20 minutes from Disney World
Distribution: Slackware®
Posts: 13,971
Blog Entries: 46

Rep: Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195
Member response

Hi,

Quote:
Originally Posted by gaddardumbuk View Post
Thanks for your suggestion onebuck but by "dd"ing the iso on to a newly partioned (single partition, type:4302) USB by gdisk, I couldn't see the liveUSB in boot options of the bios, by changing the partition type to 0700 and again "dd"ing the ISO this time I could find the liveUSB in bıos but ıt doesn't boots to linux by selecting it or forcing to boot with by boot override option. I've used the Slacklive-64bit-xfce.ıso because 32 bit one hasn't got an EFI option in it as far as I understand.
<snip>
If you had read the documentation, it tells you to 'dd' the ISO image to the USB not to a partition on the USB.

Read the documentation so you understand the proper procedures.

You want the whole image copied to the USB flash;
Quote:
From https://docs.slackware.com/slackware:liveslak
Using the ISO image

The ISO images are hybrid, which means you can either burn them to DVD, or use 'dd' or 'cp' to copy the ISO to a USB stick. Both methods will give you a live environment which will allow you to make changes and seemingly “write them to disk”. The changes will actually be kept in a RAM disk, so a reboot will “reset” the live OS to its original default state. In other words, there is no persistence of data.
Hope this helps.
Have fun & enjoy!
 
Old 09-06-2017, 03:41 PM   #24
gaddardumbuk
LQ Newbie
 
Registered: Sep 2017
Posts: 15

Original Poster
Rep: Reputation: Disabled
Yes I've copied the grub into /EFI/BOOT/grub.

Hello onebuck, excuse for my mistake I assumed that to write on something you need some sort of filesystem, that's why I partitioned the USB. Now I know the difference between writing on a disk and writing on a partition Thanks again for your patience and comments

"dd"ing the iso into an unpartitioned USB (deleted by gdısk,controlled by "gdısk -> p" and lsblk commands) unfortunately did not work for me, I've got one UEFI Sandisk partition in BIOS which I cannot boot in to both normally and forced with boot override.

Last edited by gaddardumbuk; 09-06-2017 at 04:11 PM.
 
Old 09-06-2017, 04:13 PM   #25
colorpurple21859
LQ Veteran
 
Registered: Jan 2008
Location: florida panhandle
Distribution: Slackware Debian, Fedora, others
Posts: 7,722

Rep: Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674
the grub prompt must be looking for the grub.cfg at a different location. so at the prompt will need to enter something like this:
Code:
configfile (hd1,2)/efi/boot/grub/grub.cfg
where hd1 is the drive number of the usb counting from zero and 2 is the partition number of the efi partition counting from one
Code:
set
will tell you where grub is looking for the grub.cfg file, if it is looking for it on the ext4 partition or on the efi partition but in a different place then you could copy the grub.cfg file to that location. If it is looking for it the grub-bios partition will have to fix after getting the usb to boot.
ls will give you a list of drives and partitions to choose from

Last edited by colorpurple21859; 09-06-2017 at 04:15 PM.
 
Old 09-06-2017, 05:50 PM   #26
onebuck
Moderator
 
Registered: Jan 2005
Location: Central Florida 20 minutes from Disney World
Distribution: Slackware®
Posts: 13,971
Blog Entries: 46

Rep: Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195Reputation: 3195
Member response

Hi,
Quote:
Originally Posted by gaddardumbuk View Post
Yes I've copied the grub into /EFI/BOOT/grub.

Hello onebuck, excuse for my mistake I assumed that to write on something you need some sort of filesystem, that's why I partitioned the USB. Now I know the difference between writing on a disk and writing on a partition Thanks again for your patience and comments

"dd"ing the iso into an unpartitioned USB (deleted by gdısk,controlled by "gdısk -> p" and lsblk commands) unfortunately did not work for me, I've got one UEFI Sandisk partition in BIOS which I cannot boot in to both normally and forced with boot override.
When you are either 'dd' or 'cp' to the USB in device the whole ISO image your are coping a filesystem as the ISO is a filesystem. That is why I suggest you look at the documentation. Once you have a copy of the ISO image to the USB everything is already setup for you. Do not mount the USB to begin the 'dd' or 'cp'. No need to touch anything on the ISO image that was copied to the USB in the device. Just be sure you are coping via 'cp' or 'dd' to the proper device the USB is plugged into then the ISO will be raw to the device. By using the script from a booted Slackware Live then all the files and path will be setup. That is why I suggested that you first create a Slackware Live USB to boot from then use the 'iso2usb.sh' to create the required persistence Boot USB.
Please note that when you do use 'iso2usb.sh';
Quote:
The USB stick will be erased and re-formatted when running this script! Before inflicting any irreversible damage, the script will show you a prompt at which point you can evaluate whether it is safe to continue.
If you already have a CD/DVD with a bootable Slackware Live then use that.

If you setup your BIOS properly to boot the new USB then everything should be good to go. Be sure to shut off fastboot in Windows then boot from the USB. 'syslinux' will take care of things if you have a valid copy of the Slackware ISO on the USB. When booting the Slackware Live you can still work on grub if required by using the 'e' to make changes. Any other selection will go into booting Slackware Live immediately.

I have stated this a few times, read the documentation at; https://docs.slackware.com/slackware:liveslak

It seems you still do not understand how Slackware Live is setup. Follow the directions at the docs.slackware and you should have a boot USB. Not that complicated.

Hope this helps.
Have fun & enjoy!
 
Old 09-07-2017, 10:56 AM   #27
gaddardumbuk
LQ Newbie
 
Registered: Sep 2017
Posts: 15

Original Poster
Rep: Reputation: Disabled
Hello again, colorpurple21859's latest comments worked by selecting the (efi partition of usb)/efi/boot/grub/grub.cfg I was able to boot into slackware, oddly enough also ıf I select (efi partition of usb)/efi/boot/grub.cfg again I could boot into slackware. In both of those situation I've prompted to a screen which I could not read the lines(only 5 lines) showing on the upper left corner of the screen then to a normal grub interface which has options to select but none of them are readable, fonts are way to small to read, by selecting the first option you boot into slackware.

I also tried to form a proper persistent by using a third empty unpartitioned usb by using the iso2usb.sh according to the directives in https://docs.slackware.com/slackware:liveslak while I was in slackware instead of ubuntu. USB have been created smoothly consistent with what have been written in the script, printing out proper messages etc. But again unfortunately by using this newly created USB I was unable to boot into slackware. Under these circumstances I'm convinced that bootx64.efi file created by the script does not work for me. I'll try with grub-mkimage command to create a proper one by comparing the "bootia32.efi" created by someone else as shown below but before that I've to read the documents that onebuck has directed throughly.


Again I'd like to thank everybody for their patience and helpful comments. Also if anybody could direct me for changing the title of the thread to [Solved] or not under these circumstances I'd be really glad because I don't want to waste anybody's time at this point
 
Old 09-07-2017, 10:45 PM   #28
colorpurple21859
LQ Veteran
 
Registered: Jan 2008
Location: florida panhandle
Distribution: Slackware Debian, Fedora, others
Posts: 7,722

Rep: Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674
I think this will work, I did something similar on my 64bit system, so maybe it will work on your 32bit system

boot into liveslack
mount the usb efi partition to /mnt/hd (an empty directory that is already in /mnt)
copy /boot/elilo-ia32.efi to /mnt/hd/EFI/BOOT/bootia32.efi
copy generic and initrd.img from /mnt/hd/boot to /mnt/hd/EFI/BOOT/
create a elilo.conf text file in /mnt/hd/EFI/BOOT/ and put the following in it.
Code:
chooser=simple
delay=1
timeout=1
#
image=generic
        label=liveslack
        initrd=initrd.img
        append="load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 kbd=us tz=localtime locale=us_EN.utf8"
reboot and cross your fingers that it works

This can also be done from another linux system by getting the elilo source from /slackware64-current and extacting out the elilo-3.16-ia32.efi and moving it to the usb EFI/BOOT/bootia32.efi

Last edited by colorpurple21859; 09-07-2017 at 11:07 PM.
 
Old 09-08-2017, 04:34 PM   #29
gaddardumbuk
LQ Newbie
 
Registered: Sep 2017
Posts: 15

Original Poster
Rep: Reputation: Disabled
I've crossed both of my left and right hand's fingers unfortunately it didn't work. I've faced a black screen having only a cursor in the middle of the screen in addition to nonresponsive keyboard and mouse . For now your solution is good enough for me because I'm able to boot into slackware to learn about it . Thank you very much again. As I said before I'll read about this efi stuff and bootloaders. If I find a better solution than the current solution I'll let everybody know by using this thread. For now I'll mark this thread as solved.

Last edited by gaddardumbuk; 09-08-2017 at 04:44 PM.
 
Old 09-08-2017, 07:32 PM   #30
colorpurple21859
LQ Veteran
 
Registered: Jan 2008
Location: florida panhandle
Distribution: Slackware Debian, Fedora, others
Posts: 7,722

Rep: Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674Reputation: 1674
try adding this to the append line of elilo.conf:
video=VGA-1:1368x768e reboot=pci,force


if that doesn't work then add nomodeset and see if that helps

edit: adding this to append line may also help intel_idle.max_cstate=1
got it from here https://wiki.debian.org/InstallingDe...mportant_Notes

Last edited by colorpurple21859; 09-08-2017 at 08:43 PM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Linux on ASUS T100ta. kaz2100 Linux - Laptop and Netbook 39 07-16-2020 03:58 AM
How Do I Make a UEFI Bootable Live USB Stick? myway_1 Linux - Software 10 01-07-2017 07:27 AM
Slint USB stick boot in UEFI mode ? xavi_slacky Slackware 3 01-13-2015 06:03 PM
Booting btrfs usb-stick via uefi-bios. ssenuta Linux - General 1 06-29-2013 10:59 PM
UEFI - is there a way to boot into a 'EFI Shell' using a usb stick/CD? nicolasdiogo Linux - Hardware 7 08-24-2011 07:29 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 08:40 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration