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.