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

    • Qmmp 2.3.3 by Razvan Serea Qmmp (Qt-based MultiMedia Player) is a free, open-source audio player that delivers a classic music listening experience with a modern foundation. Inspired by the legendary Winamp, Qmmp features a familiar, customizable interface that supports both Winamp and XMMS skins, making it instantly recognizable to long-time users. It handles a wide variety of audio formats including MP3, OGG Vorbis, FLAC, WAV, AAC, and many others, ensuring smooth playback across diverse music libraries. In addition to basic playback, Qmmp offers advanced features such as a 10-band equalizer, crossfading, gapless playback, and audio visualization plugins. Users can manage playlists efficiently, create and save multiple lists, and even enable streaming from online sources. Plugin support extends the player’s capabilities, allowing integration of features like lyrics display, ReplayGain, and more. Built with the Qt framework, Qmmp runs smoothly and efficiently, making it ideal even for older systems. 10 great QMMP features you might not know: Global Hotkeys Support – Control playback using customizable system-wide keyboard shortcuts. CUE Sheet Support – Automatically detects and plays tracks from CUE files for full album playback. Last.fm Scrobbling – Integrated support for sending playback data to Last.fm. Audio CD Playback – Play music directly from audio CDs. Command Line Interface – Control Qmmp via command-line options for scripting or automation. System Tray Integration – Minimize to and control playback from the system tray. MPRIS Support – Integration with desktop media player controls via the MPRIS (Media Player Remote Interfacing Specification) interface. Spectrum Analyzer and Oscilloscope – Built-in visualizations for real-time audio feedback. Configurable Notifications – Custom pop-ups for track changes and playback status. Multiple Output Backends – Support for ALSA, PulseAudio, JACK, and more, offering flexible audio routing. Qmmp 2.3.3 changelog: fixed build with PipeWire versions less than 0.3.50; fixed settings dialog layout; fixed default CUE encoding; fixed possible null pointer dereference; fixed tracks order when added using drag and drop (2.3.3 only); fixed uninitialized structure usage; improved sid plugin: added libsidplayfp 3.0 support; added feature to build without residfp engine; fixed memory leak; fixed displaying audio information; updated Japanese translation (2.3.3 only). Download: Qmmp 64-bit | 24.0 MB (Open Source) Download: Qmmp 32-bit | 24.1 MB View: Qmmp Homepage | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • BATorrent 3.0.3 is out.
    • 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 ad blockers and that. The cleanest or best free browser outside of 'Microsoft Edge' I’ve tried so far is 'Samsung Browser'. It has very little bloat and is a nice-looking web browser with an inbuilt 'Ad blocker'. I also really like the web browser called 'Floorp' that is based on Firefox. This browser can also install Chrome extensions. I have a system wide Ad blocking program for Windows 11 that doesn't just blocks ads in the web browser, but over the whole system. I don't really need a web browser with an inbuilt ad blocker because of that.
  • 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!