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

    • I totally disagree. Very little good comes out of governments all around the world manipulating everything they can and usually the people are not the benefactors. What you say about being restricted and expensive sounds almost like the arguments against firearms and why banning them will protect people as if making something illegal somehow will prevent the criminals from having and using them. AI being far less mainstream could simply mean the average person will not benefit, but "big brother" and the corporations will benefit, which is almost for sure NOT a good thing.
    • I do apologize to the author Mr. Sen for my rude comment, questioning his knowledge of the subject. It is I whom lacked knowledge of the subject. Sorry!
    • Hello All Have a MSI Pro B650 VC Wifi Rev 1.0 motherboard Ryzen 7 7700X Radeon 7800XT OC 16GB 32GB Teamgroup DDR 5 5600mhz Samsung 990 Pro 1TB Boot NVMe Samsung 990 Pro 2TB Game NVMe Lian Li Lancool Black ARGB 216 Case Seasonic Focus GX 750 Watt Power supply   Wondering today what is best spot to plug in the following items on system for performance and not bottle neck anything if i can help it Creative Pebble Pro USB C or A Speakers, ((Powered by External USB C to C PD Adapter)  Logitech G513 USB Gaming Keyboard Logitech G502X Wired Gaming Mouse Cyberpower UPS USB Cable for UPS Power Management/System shutdown External drives connected occasionally are as follows---WD My Book 8TB (primary backup drive)   Seagate 8TB in External USB 3.0 Enclosure,  Seagate Portable 1TB USB 3.0 drive,   WD My Passport (Blue) 2TB, and WD My Passport (Red) 2TB,    WD Elements 500GB USB 2.0 External (Oldest one, Christmas 2003)       **Do have a 7 Port Powered  USB Hub as well, but when i use that--that leaves only the USB Flash spot for something to directly connect to system if needed.    Rear USB C 2x2 unused right now as moved the Creative speakers off it to USB A port next to it, with a USB C to A Cable, as figured speakers didn't near audio from USB C port and tie up the high speed port**   Front Ports trying to limit use of, so i don't have Front I/O port go bad again, already had it replaced once by Lian Li support all the way from Taiwan over night ((Do get extra nervous at times on things,  so i might just be extra nervous for nothing lol))
    • "connect with audiences" is the most obvious corporate speak you can think of. I only bought Need for Speed from EA because it was the only racing game with cops in existence and I dig that. Now that they killed off NFS franchise, I have nothing to spend money on. EA is officially dead for me, just like Ubisoft which I've been boycotting for some 20 years now...
  • Recent Achievements

    • Week One Done
      Jeroen Wilms earned a badge
      Week One Done
    • Week One Done
      rolfus earned a badge
      Week One Done
    • One Month Later
      Leroy Jethro Gibbs earned a badge
      One Month Later
    • Conversation Starter
      flexorcist earned a badge
      Conversation Starter
    • One Month Later
      AndreaB earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      496
    2. 2
      +Edouard
      203
    3. 3
      PsYcHoKiLLa
      127
    4. 4
      Steven P.
      83
    5. 5
      ATLien_0
      80
  • Tell a friend

    Love Neowin? Tell a friend!