Building Shift


Recommended Posts

This is the self-written guide used to make Shift Linux (Arch-based). This guide covers everything you'll need to make your own Shift Linux-based Live CD. This process has only been tested on Arch Linux (x86). The Arch Linux Beginners Guide is also useful if you've never set up an Arch system before.

Before starting any of this, however, download the following. It's based on Arch Linux 2009.02-RC1, but I've removed some boot files. I don't recommend using the official ISO because the overlay restricts X usage and is a hassle.

Download either:

x86

x86_64 (Not tested, but should, in theory, work, although you need to do this process on a 64-bit Arch Linux installation. Spin a 64-bit Shift with this.)

Extract either of those into ~/Desktop/Shift/ISO/

You'll also need squashfs-tools. Use "pacman -S squashfs-tools" to install.

NOTES:
			~/Desktop/Shift/MNT = empty directory to mount the sqfs
			~/Desktop/Shift/FS = extracted sqfs
			~/Desktop/Shift/ISO = extracted ISO file

	 =====================================================
	 To decompress a .sqfs:
	 NOTE: DO NOT USE UNSQUASHFS!!! EVER!!!
	 =====================================================

	 sudo modprobe loop #Arch doesn't do this on boot, you can add it to MODULES in rc.conf though.
	 sudo mount -t squashfs -o loop ~/Desktop/Shift/ISO/root-image.sqfs ~/Desktop/Shift/MNT/
	 sudo cp -a ~/Desktop/Shift/MNT/* ~/Desktop/Shift/FS/
	 sudo umount ~/Desktop/Shift/MNT/

	 =====================================================
	 Preparing to chroot:
	 =====================================================

	 sudo cp /etc/resolv.conf ~/Desktop/Shift/FS/etc/
	 sudo mount --bind /dev/ ~/Desktop/Shift/FS/dev/
	 sudo chroot ~/Desktop/Shift/FS/
	 mount -t proc none /proc
	 mount -t sysfs none /sys

	 =====================================================
	 Useful Things to do in a chroot:
	 =====================================================
	 nano /etc/pacman.d/mirrorlist #Move a different repo up, Arch's are throttled
	 nano /etc/pacman.conf #Add any external repos here
	 pacman -Syyu #Updates everything
	 useradd -m -G audio,video,storage,lp,optical,power,wheel,floppy shift 
	 passwd root #Set as "root"
	 passwd shift #Set as "shift"
	 pacman -S xorg xorg-video-drivers xorg-input-drivers hal dbus sudo cups hwd unzip #And more...
	 EDITOR=nano visudo #Uncomment %wheel  ALL=(ALL) ALL, enabling sudo for everyone in "wheel" group.
	 nano /etc/rc.conf #Set hostname, add dbus and hal to DAEMONS for X to work. Look at Arch Beginners Guide for more.

	 =====================================================
	 After Finishing Modding in chroot:
	 =====================================================
	 pacman -Scc #Yes, Yes - cleans out downloaded packages
	 rm -rf /tmp/* #Deletes temp files
	 rm /etc/resolv.conf #Remove your network configuration
	 umount /proc
	 umount /sys
	 exit
	 sudo umount ~/Desktop/Shift/FS/dev/

	 =====================================================
	 Making a .sqfs:
	 =====================================================

	 sudo rm ~/Desktop/Shift/ISO/root-image.sqfs #Remove old one first, this is necessary!
	 sudo mksquashfs ~/Desktop/Shift/FS/ ~/Desktop/Shift/ISO/root-image.sqfs

	 =====================================================
	 Making the ISO (GRUB-booting!):
	 NOTE: In order for boot to work, you need to cd into the ISO root directory to run this.
	 =====================================================

	 cd ~/Desktop/Shift/ISO/
	 sudo mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/Desktop/yourshift.iso ~/Desktop/Shift/ISO/

Edited by CrimsonRedMk
Link to comment
https://www.neowin.net/forum/topic/707018-building-shift/
Share on other sites

A simple bash script would probably do, I had one back when we were using Ubuntu...

A GUI would probably be overkill for us. While a bash script would be inconvenient for regular users, we want to save time, and a GUI takes more time than something that can run directly from the terminal. Don't underestimate the power of bash!

Just so we're clear, this is more for developers than for users. We're in the very early steps of building this.

Link to comment
https://www.neowin.net/forum/topic/707018-building-shift/#findComment-590238620
Share on other sites

A GUI would probably be overkill for us. While a bash script would be inconvenient for regular users, we want to save time, and a GUI takes more time than something that can run directly from the terminal. Don't underestimate the power of bash!

Was thinking it could be something like this:

post-52106-1228678444.jpg

It's similar to a bash script but with more advanced options. It could read a configuration file with all the instructions needed, with that file having the possibility of being easily edited.

I sincerely believe a good building tool could have its place in Shift, saving time to developers and allowing them to focus on making the real stuff. :)

Link to comment
https://www.neowin.net/forum/topic/707018-building-shift/#findComment-590238790
Share on other sites

I have time and I'm willing to do it.

It took a few minutes to make that interface, it's written in python and the interface was done with the QT libs.

Shift comes with PyGTK right? It would be great if Shift had QT, but if it can't will just have to stick with GTK, which I'm currently in the process of becoming familiar with.

I can do bash too. :)

Link to comment
https://www.neowin.net/forum/topic/707018-building-shift/#findComment-590238916
Share on other sites

  • 3 weeks later...
  • 3 weeks later...

What about implementing everuthing with larch and the Arch Linux Install Framework?

larch:

larch is a collection of scripts designed around the creation and use of live CD/DVD/USB-stick versions of Arch Linux.

One design aim was easy customization, so that even relatively inexperienced users could build personalized live CDs (etc.), containing whatever packages they wanted and with their own personal configurations. The resulting medium should also be usable for installation purposes, so that one has a customized Arch Linux installation/rescue medium. As the content can be chosen freely, a comfortable working environment is possible - in contrast to the rather Spartan standard Arch installation CD.

larch also offers a flexible approach to building your live media. You can use 'profiles' to determine what gets installed, and how it is configured. The advantage of this method is that all your specifications are kept together in a folder which can be used to rebuild the same or a similar system at a later date. Alternatively you can do a normal Arch Linux installation (if there is such a thing!) and then make a live medium from this. You can even 'livify' your existing installation (though it might be worth tidying it up a bit first ...).

http://larch.berlios.de/doc/index.html

AIF:

The Arch Linux Installation Framework, which is a new installed for Arch systems, has these goals in mind:

Make all code modular, reusable etc. Everyone should be able to add/change/remove change certain aspects of an installation procedure easily or build custom installation relying on existing code where appropriate.

http://dieter.plaetinck.be/AIF_the_brand_n...ation_Framework

We could use AIF as the default installer since it's modular andd will let us make any of the changes we might need to it, and we should use larch to rapidly deploy new releases without killing ourselves with custom ISO tools.

Link to comment
https://www.neowin.net/forum/topic/707018-building-shift/#findComment-590459630
Share on other sites

  • 3 weeks later...
This is the self-written guide used to make Shift Linux (Arch-based). This guide covers everything you'll need to make your own Shift Linux-based Live CD. This process has only been tested on Arch Linux (x86). The Arch Linux Beginners Guide is also useful if you've never set up an Arch system before.

Before starting any of this, however, download the following. It's based on Arch Linux 2009.02-RC1, but I've removed some boot files. I don't recommend using the official ISO because the overlay restricts X usage and is a hassle.

Download either:

x86

x86_64 (Not tested, but should, in theory, work, although you need to do this process on a 64-bit Arch Linux installation. Spin a 64-bit Shift with this.)

Extract either of those into ~/Desktop/Shift/ISO/

You'll also need squashfs-tools. Use "pacman -S squashfs-tools" to install.

NOTES:
			~/Desktop/Shift/MNT = empty directory to mount the sqfs
			~/Desktop/Shift/FS = extracted sqfs
			~/Desktop/Shift/ISO = extracted ISO file

	 =====================================================
	 To decompress a .sqfs:
	 NOTE: DO NOT USE UNSQUASHFS!!! EVER!!!
	 =====================================================

	 sudo modprobe loop #Arch doesn't do this on boot, you can add it to MODULES in rc.conf though.
	 sudo mount -t squashfs -o loop ~/Desktop/Shift/ISO/root-image.sqfs ~/Desktop/Shift/MNT/
	 sudo cp -a ~/Desktop/Shift/MNT/* ~/Desktop/Shift/FS/
	 sudo umount ~/Desktop/Shift/MNT/

	 =====================================================
	 Preparing to chroot:
	 =====================================================

	 sudo cp /etc/resolv.conf ~/Desktop/Shift/FS/etc/
	 sudo mount --bind /dev/ ~/Desktop/Shift/FS/dev/
	 sudo chroot ~/Desktop/Shift/FS/
	 mount -t proc none /proc
	 mount -t sysfs none /sys

	 =====================================================
	 Useful Things to do in a chroot:
	 =====================================================
	 nano /etc/pacman.d/mirrorlist #Move a different repo up, Arch's are throttled
	 nano /etc/pacman.conf #Add any external repos here
	 pacman -Syyu #Updates everything
	 useradd -m -G audio,video,storage,lp,optical,power,wheel,floppy shift 
	 passwd root #Set as "root"
	 passwd shift #Set as "shift"
	 pacman -S xorg xorg-video-drivers xorg-input-drivers hal dbus sudo cups hwd unzip #And more...
	 EDITOR=nano visudo #Uncomment %wheel  ALL=(ALL) ALL, enabling sudo for everyone in "wheel" group.
	 nano /etc/rc.conf #Set hostname, add dbus and hal to DAEMONS for X to work. Look at Arch Beginners Guide for more.

	 =====================================================
	 After Finishing Modding in chroot:
	 =====================================================
	 pacman -Scc #Yes, Yes - cleans out downloaded packages
	 rm -rf /tmp/* #Deletes temp files
	 rm /etc/resolv.conf #Remove your network configuration
	 umount /proc
	 umount /sys
	 exit
	 sudo umount ~/Desktop/Shift/FS/dev/

	 =====================================================
	 Making a .sqfs:
	 =====================================================

	 sudo rm ~/Desktop/Shift/ISO/root-image.sqfs #Remove old one first, this is necessary!
	 sudo mksquashfs ~/Desktop/Shift/FS/ ~/Desktop/Shift/ISO/root-image.sqfs

	 =====================================================
	 Making the ISO (GRUB-booting!):
	 NOTE: In order for boot to work, you need to cd into the ISO root directory to run this.
	 =====================================================

	 cd ~/Desktop/Shift/ISO/
	 sudo mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/Desktop/yourshift.iso ~/Desktop/Shift/ISO/

So we are meant to install this and then make another ISO from it?

I don't understand.

Also, does this has working Live-X11 automagick configs? And base apps or something?

We should begin a thread asking what features to include on Shift so we can begin working in them...

Link to comment
https://www.neowin.net/forum/topic/707018-building-shift/#findComment-590548250
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • The current Statcoungter desktop numbers has Google Chrome increasing it's market share this past year and currently commanding 75% share. Everybody else is just making up the numbers with even MS Edge losing 3% this past year and has dipped just below 10% share which is staggering considering it's default on every Windows deviced purchased. If these numbers are correct that terrible Edge number is both devastating and embarrassing for MS especially when you add in the terribly low Bing market share. This leads me to ask a couple of questions as the default browser holding just less than 10% market share seems really weird. It used to be that all Chromium browsers were being counted as Google Chrome in some cases.  Is this still happening? Do these high Google Chrome numbers contains some Edge user numbers?
    • Yeah, all web browsers seem to have some junk in them these days. The regular Brave browser has a lot of unnecessary stuff in it, similar to Microsoft Edge, so I don't see any benefits of using Brave over Microsoft Edge if you already have Microsoft Edge fully set up with adblockers and that. The cleanest or best free browser outside of 'Microsoft Edge' I’ve tried so far is 'Opera Air'. It still has some bloat, but nowhere near as much as Brave browser, for example. I have a system wide Adblocking program for Windows 11 that doesn't just blocks ads in the the web browser, but over the whole thing. I don't really need a web browser with an inbuilt adblocker because of that.
    • I have been using Firefox for years.
    • I'd trust open source stuff on github more then closed source binaries from Microsoft.
  • Recent Achievements

    • Rookie
      moog19 went up a rank
      Rookie
    • Mentor
      grik went up a rank
      Mentor
    • Dedicated
      JKR earned a badge
      Dedicated
    • One Year In
      CHUNWEI earned a badge
      One Year In
    • Conversation Starter
      FBSPL earned a badge
      Conversation Starter
  • Popular Contributors

    1. 1
      +primortal
      491
    2. 2
      PsYcHoKiLLa
      270
    3. 3
      Skyfrog
      75
    4. 4
      Steven P.
      68
    5. 5
      FloatingFatMan
      63
  • Tell a friend

    Love Neowin? Tell a friend!