create .vimrc file
[ps3freebsd_livecd.git] / HOWTO
blob4cd8e99b19d8ab7016ffb4929e3398de9ed2605f
2 FreeBSD LiveCD
3 ---------------
5 # Extract FreeBSD world
7 mkdir livecd
8 cd livecd
9 tar xvJf ~/freebsd_world.tar.xz
11 cat >boot/loader.conf <<EOF
12 boot_cdrom="YES"
13 autoboot_delay="-1"
14 EOF
16 # Configure system
18 mkdir mnt/etc mnt/root
20 cat >etc/fstab <<EOF
21 /dev/cd0        /               cd9660          ro              0       0
22 md              /mnt/etc        mfs             rw,-s8m,-S      2       0
23 md              /mnt/root       mfs             rw,-s8m,-S      2       0
24 /mnt/etc        /etc            unionfs         rw              0       0
25 /mnt/root       /root           unionfs         rw              0       0
26 EOF
28 cat >etc/rc.conf <<EOF
29 root_rw_mount="NO"
31 hostname="freebsd-livecd"
33 ifconfig_glc0="SYNCDHCP"
35 keyrate="fast"
36 keymap="us.iso"
37 #keymap="fr.iso"
38 #keymap="german.iso"
39 scrnmap="NO"
40 font8x16="iso15-8x16"
41 font8x14="iso15-8x14"
42 font8x8="iso15-8x8"
44 sshd_enable="YES"
46 update_motd="NO"
47 syslogd_enable="NO"
48 newsyslog_enable="NO"
49 cron_enable="NO"
50 hostid_enable="NO"
52 sendmail_enable="NONE"
53 sendmail_submit_enable="NO"
54 sendmail_outbound_enable="NO"
55 sendmail_msp_queue_enable="NO"
57 cleanvar_enable="NO"
58 crashinfo_enable="NO"
59 virecover_enable="NO"
60 EOF
62 # Enable sshd root login and empty passwords in etc/ssh/sshd_config
64 PermitRootLogin yes
65 PasswordAuthentication yes
66 PermitEmptyPasswords yes
67 UsePAM no
69 # Create kboot.conf
71 cat >etc/kboot.conf <<EOF
72 freebsd-livecd=/boot/loader.ps3
73 EOF
75 # Create ISO image
77 mkisofs -R -l -ldots -allow-lowercase -allow-multidot \
78    -V 'PS3 FreeBSD LiveCD' -volset 'PS3 FreeBSD' -hide boot.catalog \
79    -o ~/freebsd_livecd.iso .
81 Compressed FreeBSD LiveCD
82 --------------------------
84 # Create initial MD root filesystem
86 mkdir mfsroot
87 cd mfsroot
89 mkdir rescue
90 cd rescue
91 (cd /root/livecd/rescue && tar cf - .) | tar xf -
92 cd ..
94 mkdir rescue/dev
96 # MD root init script
98 cat >init.sh <<EOF
99 #!/bin/sh
101 #set -x
103 PATH=/rescue
105 BASEROOT=/baseroot
106 RWROOT=/rwroot
107 CDROM=/cdrom
108 DEVFS=$BASEROOT/dev
109 ROOT_IMAGE=/data/root.ufs.uzip
111 mount -u -w /
113 mkdir -p $BASEROOT
114 mkdir -p $RWROOT
115 mkdir -p $CDROM
117 mount -t cd9660 /dev/cd0 $CDROM
119 mdmfs -P -F $CDROM/$ROOT_IMAGE -o ro md.uzip $BASEROOT
120 mdmfs -s 16m md $RWROOT
121 mount -t unionfs $RWROOT $BASEROOT
123 mkdir -p $DEVFS
124 mount -t devfs devfs $DEVFS
126 mkdir -p $BASEROOT/$CDROM
127 mount -t nullfs -o ro $CDROM $BASEROOT/$CDROM
129 kenv init_shell="/bin/sh"
131 exit 0
134 chmod 755 init.sh
136 cd ..
138 # Create MD root image
140 makefs -t ffs -B big -b 10% mfsroot.ufs mfsroot
141 gzip mfsroot.ufs
143 # Populate LiveCD
145 mkdir livecd-uzip
146 cd livecd-uzip
148 mkdir boot
149 cd boot
150 (cd /root/livecd/boot && tar cf - .) | tar xf -
151 cd ..
153 rm -f boot/kernel/*.symbols
154 rm -f boot/kernel/wlan*
155 rm -f boot/kernel/snd_*
156 rm -f boot/kernel/if_*
157 rm -f boot/kernel/ng_*
158 rm -f boot/kernel/isp*
159 gzip boot/kernel/kernel
161 cp ../mfsroot.ufs.gz boot/
163 cat >boot/loader.conf <<EOF
164 autoboot_delay="-1"
166 #boot_verbose="YES"
168 mfsroot_load="YES"
169 mfsroot_type="md_image"
170 mfsroot_name="/boot/mfsroot.ufs"
172 init_path="/rescue/init"
173 init_shell="/rescue/sh"
174 init_script="/init.sh"
175 init_chroot="/baseroot"
178 mkdir etc
179 cat >etc/kboot.conf <<EOF
180 freebsd-livecd=/boot/loader.ps3
183 cd ..
185 # Create final root filesystem image and compress it
187 makefs -t ffs -B big root.ufs livecd
188 mkuzip root.ufs
189 mkdir livecd-uzip/data
190 cp root.ufs.uzip livecd-uzip/data
192 Installing ports on LiveCD
193 ---------------------------
195 tar xvJf ~/livecd.tar.xz
197 # Chroot into LiveCD root filesystem
199 mount -t devfs devfs /root/livecd/dev
200 cp /etc/resolv.conf /root/livecd/etc
202 chroot /root/livecd /bin/csh
204 cd /usr
206 # Fetch ports archive and extract it
208 fetch ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports/ports.tar.gz
210 tar xvzf port.tar.gz
211 rm -f port.tar.gz
213 cd ports
215 # Install ports
217 # Install VIM lite edition
219 cd editors/vim-lite
220 make BATCH=yes install clean
221 cd ../..
223 # Create VIM config
225 cat >/root/.vimrc <<EOF
226 set showmode
227 set ruler
228 set autoindent
229 set cindent
230 set tabstop=8
231 set shiftwidth=8
232 set hlsearch
233 set nowrapscan
235 colorscheme default
236 syntax on
238 set tags=tags;
241 cd sysutils/screen
242 make BATCH=yes install clean
243 cd ../..
245 cd shells/bash
246 make BATCH=yes install clean
247 cd ../..
249 cd ftp/wget
250 make BATCH=yes install clean
251 cd ../..
253 cd devel/git
254 make BATCH=yes install clean
255 cd ../..
257 cd devel/subversion
258 make BATCH=yes install clean
259 cd ../..
261 cd www/elinks
262 make BATCH=yes install clean
263 cd ../..
265 cd archivers/p7zip
266 make BATCH=yes install clean
267 cd ../..
269 cd irc/irssi
270 make BATCH=yes install clean
271 cd ../..
273 # Cleanup
275 cd ..
276 rm -rf ports
278 exit
280 rm -f /root/livecd/etc/resolv.conf
281 rm -f /root/livecd/root/.history
282 umount /root/livecd/dev