Editing Debian LiveCD

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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:OtherOS]]
[[Category:Linux]]


=Introduction=
=Introduction=
Line 65: Line 65:


tasksel install standard
tasksel install standard
aptitude install binutils gcc make git vim openssh-server sudo wireless-tools wpasupplicant libssl-dev libncurses5-dev
aptitude install binutils gcc make git vim openssh-server sudo wireless-tools wpasupplicant libssl-dev
aptitude  install gcc-spu g++-spu newlib-spu spu-tools
aptitude  install gcc-spu g++-spu newlib-spu spu-tools
aptitude  install parted kpartx cryptsetup libreadline-dev libaio-dev libdevmapper-dev libudev-dev


# 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 73:


aptitude clean
aptitude clean
rm -f /etc/udev/rules.d/70-persistent-net.rules
# exit chroot environment
exit
# Unmount dev and proc
umount /root/livecd/dev/shm
umount /root/livecd/dev/pts
umount /root/livecd/dev
umount /root/livecd/proc
</syntaxhighlight>}}
</syntaxhighlight>}}
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />


=Creating Root Filesystem=
=Creating Root Filesystem=
Line 93: Line 80:
cd /root/livecd
cd /root/livecd
mksquashfs * ../root.sfs
mksquashfs * ../root.sfs
</syntaxhighlight>}}
</syntaxhighlight>}}<br /><br /><br /><br /><br />


=Modifying Root Filesystem=
=Modifying Root Filesystem=
Line 104: Line 91:


mksquashfs * ../root-changed.sfs
mksquashfs * ../root-changed.sfs
</syntaxhighlight>}}
</syntaxhighlight>}}<br /><br /><br /><br /><br /><br /><br /><br /><br />


=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.
See my GIT repos:
* http://gitorious.ps3dev.net/ps3linux/kernel-configs
* http://gitorious.ps3dev.net/ps3linux/kernel-patches-34
* http://gitorious.ps3dev.net/ps3linux/kernel-patches-35
* http://gitorious.ps3dev.net/ps3linux/kernel-patches-36
* http://gitorious.ps3dev.net/ps3linux/livecd


=Initramfs=
=Initramfs=
See my GIT repo: http://gitorious.ps3dev.net/ps3linux/livecd


==BusyBox==
==BusyBox==


* We need a couple of user-space applications to mount filesystems, load kernel modules and so on.
* We need a couple of user-space applications to mount filesystems, load kernel modules and so on.
* And make sure you compile BusyBox without any library dependencies.
* I compiled my BusyBox executable on PS3 Linux but you could cross-compile it too but then you need a complete PowerPC toolchain with libc.
<pre>
http://busybox.net/downloads/busybox-1.20.1.tar.bz2


tar xvjf busybox-1.20.1.tar.bz2
TODO: Add HOWTO for BusyBox
cd busybox-1.20.1
make menuconfig
make
</pre>


==Creating Image==
==Creating Image==
Line 145: Line 115:
mkdir initramfs
mkdir initramfs
cd initramfs
cd initramfs
mkdir -p bin dev etc lib/modules/3.6.4 mnt proc sbin sys usr/bin usr/sbin
mkdir -p bin dev etc lib/modules/3.4.9 mnt proc sbin sys usr
 
cp ~/busybox-1.20.1/busybox bin/
cd bin
ln -sf busybox sh
cd ..
 
echo 'sda.* 0:6 0660' >> etc/mdev.conf
echo 'sr[0-9] 0:6 0660 @ln -sf $MDEV cdrom' >> etc/mdev.conf
 
cat >etc/modules <<EOF
> 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
> EOF


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.6.4-build/lib/modules/3.6.4 -name $mod.ko`
     path=`find  /home/glevand/linux-3.4.9-build/lib/modules/3.4.9 -name $mod.ko`
     cp $path lib/modules/3.6.4/
     cp $path lib/modules/3.4.9/
done
done


Line 187: Line 128:
cd ..
cd ..
cat initramfs.cpio | gzip > initramfs.cpio.gz
cat initramfs.cpio | gzip > initramfs.cpio.gz
</syntaxhighlight>}}<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />


# Make changes to initramfs
gunzip initramfs.cpio.gz
mkdir initramfs
cd initramfs
cpio -i -d -H newc --no-absolute-filenames < ../initramfs.cpio
</syntaxhighlight>}}
=Images=
=Images=


* vmlinux-3.6.4.xz: http://www.multiupload.nl/D0PYT6HGC0 (MD5 4b5fdb2995fde82e0f6817a7a86fca2c)
* vmlinux-3.4.9.xz: http://www.multiupload.nl/9C1XVAB3RU (MD5 c15903c28b4eaff3524f3c32f491e25e)
* root.sfs: http://www.multiupload.nl/MWDSBR4OJZ (MD5 3ee12e2d351e0bbe1cd7818be23d8973)
* 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.
* In case someone still hasn't figured it out yet, password for root is root and password for glevand is glevand :)
* In case someone still hasn't figured it out yet, password for root is root and password for glevand is glevand :)
Line 207: Line 142:


* Your USB drive should be formatted with FAT32 filesystem.
* Your USB drive should be formatted with FAT32 filesystem.
* initramfs-usb.cpio.gz: http://www.multiupload.nl/Y084SCQBL3 (MD5 f94b6aec2e5fbbb26f7d466165071469)
* initramfs.cpio.gz: http://www.multiupload.nl/KROXJ799N6 (MD5 8da82022b1c2541dc419619e710a0a3f)
* Create '''debianlive''' directory on your USB drive.
* Create '''debianlive''' directory on your USB drive.
* Put vmlinux-3.6.4 (extract xz archive), initramfs.cpio.gz and root.sfs into this directory.
* Put vmlinux-3.4.9 (extract xz archive), initramfs.cpio.gz and root.sfs into this directory.


{{Keyboard|content=<syntaxhighlight lang="bash">
{{Keyboard|content=<syntaxhighlight lang="bash">
Line 216: Line 151:
-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.6.4
-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
Line 224: Line 159:


<pre>
<pre>
debianlive=/debianlive/vmlinux-3.6.4 initrd=/debianlive/initramfs.cpio.gz
debianlive=/debianlive/vmlinux-3.4.9 initrd=/debianlive/initramfs.cpio.gz
</pre>
</pre>


==CDROM==
==CDROM==


(files seem missing)
* initramfs.cpio.gz: http://www.multiupload.nl/60CNXOU5U0 (MD5 8aa930e1e2e8b99ed223ad1df02ba54e)
 
* debianlive.iso.xz: http://www.multiupload.nl/HRJFPL38W8 (MD5 f6c9fa8d179f8da6ee196943a841efe9)
* initramfs-cdrom.cpio.gz: http://www.multiupload.nl/SA9YK1HFK0 (MD5 f71f8667dc52540136f90a95d7111efc)
* debianlive.iso: http://www.multiupload.nl/TW41UIVAGV (MD5 eeba4fa3428c5d687bada3fd975ea9dd)
* https://www.sendspace.com/file/2negnt (added missing link to debianlive)
* https://mega.nz/#!k1sTXI4a!ANmRDBVYmEdaToauoePNSKvoDl7GXGw0ORNN9ZM0Tfo
* https://www.sendspace.com/file/f8wnpe
* http://uploaded.net/file/vdxmzopu
* https://disk.yandex.com/d/t7o60xrWTVlYqA
<!-- https://www.sendspace.com/file/a3bsty -->


{{Keyboard|content=<syntaxhighlight lang="bash">
{{Keyboard|content=<syntaxhighlight lang="bash">
mkdir -p iso/debianlive
mkdir -p iso/debianlive
cp root.sfs initramfs.cpio.gz vmlinux-3.6.4 iso/debianlive
cp root.sfs initramfs.cpio.gz vmlinux-3.4.9 iso/debianlive
echo "debianlive=/debianlive/vmlinux-3.6.4 initrd=/debianlive/initramfs.cpio.gz" > iso/kboot.conf
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 177:
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
</syntaxhighlight>}}
</syntaxhighlight>}}<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />


=Links=
=Links=


* http://securityfocus.eu/?p=149
* http://securityfocus.eu/?p=149
{{Linux}}<noinclude>[[Category:Main]]</noinclude>
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)