harddisk only start or installation

4 replies [Last post]
Joined: 11/06/2012


As I have only one (big: 1 Terra byte) harddisk on my PC I am looking for a way to start (directly from ISO file) or install trisquel on my PC (Pentium 5, 2 Gbytes RAM, Intel chips set)

- without using USB stick / memory card
- without using CDROM (is the same: my PC is a book PC where the integrated old CD drive is connected as USB drive ;-) ...)
- without floppy (would be the same for the same reason! but I belong not amovable floppy drive at all :-) )

only using GNU grub.

how to do that (grub entry exemple)?

which ISO?

kind regards

Joined: 11/06/2012


I did look at the official documentation at https://trisquel.info/en/wiki/all-manuals

the summary

V. Setup

Download Trisquel

Create boot media
Burn Trisquel image to CD/DVD
Make a bootable Trisquel USB drive

Install Trisquel (from boot media)
OEM Installation, or (Needs Images)
Install with an encrypted drive
Using the Netinstall image from a bootable USB drive

is in my opinion really poor as at last 3 important items are not available ;-) :

Unconventional needs concerning installation
Trisquel and debootstrap?
Building Trisquel (in a chroot, event. compile, or from binaries,
setting up and starting)?
What can users with reduced PC configuration
(no HD, or no USB, or no external drive)
do to try to use Trisquel?

davidnotcoulthard (not verified)

It was a few year ago that a younger self in me tried to install an Ubuntu-based distro having managed to boot the ISO from hard drive.

Ubiquity (the LiveCD installer) complained about not being able to install to the hard drive on which it's mounted or something like that (basicalyy, it never worked for me).

Expect the same to be the case here.

Two possibly slightly difficult alternatives that might work:
1)Booting a LiveCD having installed it to the HDD, and install debootstrap and use it to install a "permanent" installation of Trisquel to to your HDD.

2)Netinstall (since the installer forit isn't Ubiquity).

Anyway, Here's how debootstrap goes:

  1. Enable the computer to boot the LiveCD ISO. One way of doing this is by "installing" the ISO to HDD using Unetbootin

  2. Boot to it, and then configure the HDD so that there's a partition for Trisquel (using apps like Gparted. If it's not in the LiveCD, install it)
  3. Install debootstrap.
  4. Mount the partition to a directory (so that, until unmounted, entering the directory=entering the partition). I think /mnt makes a pretty good mount point. How to mount it: If the partition is /dev/sda1, then from the terminal do "sudo mount /dev/sda1 /mnt".
  5. From the terminal, use debootstrap. If the setup is identical to the above, do "sudo debootstrap belenos /mnt".
  6. Once #5 is done, install chroot.
  7. http://ubuntuforums.org/showthread.php?t=1156240 helps with chrooting. Chroot the /mnt folder as described there.
  8. From the chroot: do "apt-get install trisquel" (alternatively instead of trisquel you can opt for trisquel-mini).
  9. Then, install a kernel. "sudo apt-get install linux-generic" should do.
  10. This isn't required: To be safe, you may want to copy the configuration from the LiveCD to the newly installed debootstrap. From the LiveCD terminal, rather than chroot, do "sudo cp -r /etc/skel /mnt/etc". Note: This only works if the LiveCD is the same as the edition installed in #8.
  11. From the chrooted partition, install grub-pc and os-prober. Then, have GRUB installed to /dev/sda (or to be safe you can, after GRUB installation, do "sudo grub-install /dev/sda").
  12. I think you can now reboot and use Trisquel.

NB: I've never installed Trisquel from debootstrap from a LiveCD mounted to HDD, but I have done so from LiveUSB.
I've never really tried step 8 myself, I've always instead installed all the needed packages manually.
If the disk is /dev/sdb, or /dev/sdc, etc, then adjust the /dev/sda's seen above.
After rebooting, you should add 2 lines the /etc/apt/sources.list file, identical to the first line except with belenos-updates and belenos-security (in any order) instead of simply "belenos". This enables updates. After that go to the update manager and perform an update.

Joined: 08/13/2014

According to the Debian documentation[1] (Trisquel is indirectly derived from it), using debootstrap may give different results than using the installer in the resulting configuration. Using debootstrap also requires manual configuration (Last time I used debootstrap, though, not for installing Trisquel, I had to configure the timezone and /etc/fstab manually). I don't recommend using debootstrap to install the system because of the above reasons, instead use the netinstaller.

When a GNU/Linux system boots, it loads Linux and an “initrd” which is a compressed cpio archive containing the first file hierarchy which is mounted in RAM (Hence *init*ial *R*AM *d*isk). In an installed OS, the bootloader boot this initrd system which in turn loads the main system[2], but the net installer resides completely within this initrd.

You can extract the netinstaller Linux image from “/casper/initrd.netinst” and initrd from “/casper/vmlinuz.netinst” from the Trisquel 7.0 image[3], then boot it with GRUB in the same way you boot your main system and use it to install Trisquel. There are lots of examples about how to add an entry to GRUB which you can consult for the details (Take note of whether you're using GRUB 1 or GRUB 2 and look a corresponding tutorial)[4]. You can override the partition where the kernel image and initrd are while installing. Bear in mind that that you can left your computer in an unusable state if you interrupt the installation after you have overridden the previous system but not yet finished the new installation of Trisquel, so be careful.

I recommend to install only a basic CLI environment using the netinstaller, and then install the other packages you want from it, using aptitude or apt-get, that way you can control which packages get installed. If you want a graphic environment, then you can first install the CLI environment, then get the desktop environment and browser *without* the recommendations, then install the recommendations and all the other packages you want. This way you can browse the web while most packages are downloading.

The Debian documentation in [4] mentions a way to download the whole ISO image to a partition and get the packages from there, rather than from the network. I don't know how this can be done with Trisquel, but you can use the procedure above. There are other ways to install Trisquel. For instance, you can install it in a virtual machine and then adapt and copy the filesystem to your real machine, but I haven't tested that at all; if you want to do it that way, you will have to configure the bootloader manually and adapt /etc/fstab to the setup of your new system.

I hope that it helps. Let us know if you need more help. Regards.


Changelog: Split a paragraph and made minor rewording.

[1]: See <https://www.debian.org/releases/stable/amd64/apds03.html.en>.

[2]: See <https://www.debian.org/doc/manuals/debian-reference/ch03.en.html#_an_overview_of_the_boot_strap_process>. Remember that Trisquel is indirectly derived from Debian. The main difference is that doesn't uses System V style init, but upstart because (I think) the version on Ubuntu on which it's based uses upstart as well.

[3]: I partially tested the procedure using the aforesaid files from the CD containing Trisquel with GNOME, because I had download it already, but I think you can find the same files in the Netinstall CD.

[4]: Like <https://www.debian.org/releases/stable/amd64/ch05s01.html.en#boot-initrd>. You can also load a initrd and kernel image from a running system without shutting down using kexec; but I suspect that there's a chance that there may be problems since it doesn't initializes the hardware. I have used it with no problems, but only in virtual machines.


I am a member!

Joined: 01/04/2011

If you want to boot Trisquel from *DD you need to add to the /etc/grub.d/40_custom :

menuentry 'Trisquel 7 amd64'{
set isofile="/trisquel_7.0_amd64.iso"
loopback loop (hd0,2)$isofile 
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject 
initrd (loop)/casper/initrd

For security reasons you can remove one or more characters from the isofile path or filename so that it will only boot if you edit the grub entry at boot as a superuser.

And then run sudo update-grub.

If you actually want to install the OS from *DD you need to know that the iso needs to be on a separate partition from the ones used in the installation process.