Editing Debian LiveCD
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
[[Category: | [[Category:Linux]] | ||
=Introduction= | =Introduction= | ||
Line 7: | Line 7: | ||
=Creating Initial System with debootstrap= | =Creating Initial System with debootstrap= | ||
<pre> | |||
apt-get install debootstrap | apt-get install debootstrap | ||
Line 65: | Line 64: | ||
tasksel install standard | tasksel install standard | ||
aptitude install binutils gcc make git vim openssh-server sudo | aptitude install binutils gcc make git vim openssh-server sudo wpasupplicant libssl-dev | ||
aptitude install gcc-spu g++-spu newlib-spu spu-tools | aptitude install gcc-spu g++-spu newlib-spu spu-tools | ||
# Make SSH server start at boot so we could ssh to our LiveCD | # Make SSH server start at boot so we could ssh to our LiveCD | ||
Line 74: | Line 72: | ||
aptitude clean | aptitude clean | ||
</pre> | |||
=Creating Root Filesystem= | |||
<pre> | |||
< | |||
cd /root/livecd | cd /root/livecd | ||
mksquashfs * ../root.sfs | mksquashfs * ../root.sfs | ||
</ | </pre> | ||
=Modifying Root Filesystem= | =Modifying Root Filesystem= | ||
<pre> | |||
cd /root | cd /root | ||
unsquashfs root.sfs | unsquashfs root.sfs | ||
Line 104: | Line 91: | ||
mksquashfs * ../root-changed.sfs | mksquashfs * ../root-changed.sfs | ||
</ | </pre> | ||
=Linux 3 Kernel= | =Linux 3 Kernel= | ||
* We need a Linux 3 kernel with overlayfs support so we could create a tmpfs over our read-only base filesystem. | * We need a Linux 3 kernel with overlayfs support so we could create a tmpfs over our read-only base filesystem. | ||
* At the moment overlayfs is not supported on Linux 3.5 so it leaves us with Linux 3.4 which doesn't really matter because all my Linux 3 drivers are supported on Linux 3.4 just fine. | |||
* Furthermore, we want to compile PS3 HDD driver as module because in this case we can easily change HDD region flags. | * Furthermore, we want to compile PS3 HDD driver as module because in this case we can easily change HDD region flags. | ||
=Initramfs= | =Initramfs= | ||
<pre> | <pre> | ||
# Populate initramfs | # Populate initramfs | ||
Line 145: | Line 107: | ||
mkdir initramfs | mkdir initramfs | ||
cd initramfs | cd initramfs | ||
mkdir -p bin dev etc lib/modules/3. | mkdir -p bin dev etc lib/modules/3.4.9 mnt proc sbin sys usr | ||
for mod in fat vfat isofs crc-ccitt crc-itu-t lzo_compress udf squashfs overlayfs \ | for mod in fat vfat isofs crc-ccitt crc-itu-t lzo_compress udf squashfs overlayfs \ | ||
ps3_gelic ps3stor_lib sg ps3rom usb-common usbcore ehci-hcd ohci-hcd usb-storage; do | ps3_gelic ps3stor_lib sg ps3rom usb-common usbcore ehci-hcd ohci-hcd usb-storage; do | ||
path=`find /home/glevand/linux-3. | path=`find /home/glevand/linux-3.4.9-build/lib/modules/3.4.9 -name $mod.ko` | ||
cp $path lib/modules/3. | cp $path lib/modules/3.4.9/ | ||
done | done | ||
Line 187: | Line 120: | ||
cd .. | cd .. | ||
cat initramfs.cpio | gzip > initramfs.cpio.gz | cat initramfs.cpio | gzip > initramfs.cpio.gz | ||
</pre> | |||
=Images= | =Images= | ||
* vmlinux-3. | * vmlinux-3.4.9.xz: http://www.multiupload.nl/9C1XVAB3RU (MD5 c15903c28b4eaff3524f3c32f491e25e) | ||
* root.sfs: http://www.multiupload.nl/ | * root.sfs: http://www.multiupload.nl/NERXNME3JJ (MD5 e2ed20d27092105961507de5d7b49ed3) | ||
* Tools available on the root filesystem: gcc, spu-gcc, spuisofs, spuldrfs, ps3vuart-tools, ps3sed and all my other PS3 Linux drivers. Everything you need to compile and test various PS3 stuff. | * Tools available on the root filesystem: gcc, spu-gcc, spuisofs, spuldrfs, ps3vuart-tools, ps3sed and all my other PS3 Linux drivers. Everything you need to compile and test various PS3 stuff. | ||
==USB== | ==USB== | ||
* initramfs.cpio.gz: http://www.multiupload.nl/KROXJ799N6 (MD5 8da82022b1c2541dc419619e710a0a3f) | |||
* initramfs | |||
* Create '''debianlive''' directory on your USB drive. | * Create '''debianlive''' directory on your USB drive. | ||
* Put vmlinux-3. | * Put vmlinux-3.4.9 (extract xz archive), initramfs.cpio.gz and root.sfs into this directory. | ||
<pre> | |||
$ ls -l /mnt/usb/debianlive/ | $ ls -l /mnt/usb/debianlive/ | ||
total 257696 | total 257696 | ||
-rwxr-xr-x 1 root root 6746154 Aug 18 17:44 initramfs.cpio.gz | -rwxr-xr-x 1 root root 6746154 Aug 18 17:44 initramfs.cpio.gz | ||
-rwxr-xr-x 1 root root 249835520 Aug 18 17:15 root.sfs | -rwxr-xr-x 1 root root 249835520 Aug 18 17:15 root.sfs | ||
-rwxr-xr-x 1 root root 7288832 Aug 18 17:31 vmlinux-3. | -rwxr-xr-x 1 root root 7288832 Aug 18 17:31 vmlinux-3.4.9 | ||
$ ls -l /mnt/usb/ | $ ls -l /mnt/usb/ | ||
-rwxr-xr-x 1 root root 188 Aug 18 17:30 kboot.conf | -rwxr-xr-x 1 root root 188 Aug 18 17:30 kboot.conf | ||
</ | </pre> | ||
* And create kboot.conf in the root directory of your USB drive with this content: | * And create kboot.conf in the root directory of your USB drive with this content: | ||
<pre> | <pre> | ||
debianlive=/debianlive/vmlinux-3. | debianlive=/debianlive/vmlinux-3.4.9 initrd=/debianlive/initramfs.cpio.gz | ||
</pre> | </pre> | ||
==CDROM== | ==CDROM== | ||
<pre> | |||
< | |||
mkdir -p iso/debianlive | mkdir -p iso/debianlive | ||
cp root.sfs initramfs.cpio.gz vmlinux-3. | cp root.sfs initramfs.cpio.gz vmlinux-3.4.9 iso/debianlive | ||
echo "debianlive=/debianlive/vmlinux-3. | echo "debianlive=/debianlive/vmlinux-3.4.9 initrd=/debianlive/initramfs.cpio.gz" > iso/kboot.conf | ||
cd iso | cd iso | ||
mkisofs -R -J -l -o ../debianlive.iso . | mkisofs -R -J -l -o ../debianlive.iso . | ||
Line 250: | Line 162: | ||
sudo cdrecord -v dev=/dev/sr0 blank=fast | sudo cdrecord -v dev=/dev/sr0 blank=fast | ||
sudo cdrecord -v dev=/dev/sr0 debianlive.iso | sudo cdrecord -v dev=/dev/sr0 debianlive.iso | ||
</ | </pre> | ||
=Links= | =Links= | ||
* http://securityfocus.eu/?p=149 | * http://securityfocus.eu/?p=149 | ||