#!/bin/bash . ./build_env_0.sh ln -svf ../proc/mounts ${LJOS}/etc/mtab echo "mtlab created" cat > ${LJOS}/etc/passwd << "EOF" root::0:0:root:/root:/bin/ash EOF echo "created passwd" cat > ${LJOS}/etc/group << "EOF" root:x:0: bin:x:1: sys:x:2: kmem:x:3: tty:x:4: daemon:x:6: disk:x:8: dialout:x:10: video:x:12: utmp:x:13: usb:x:14: EOF echo "created group" cat > ${LJOS}/etc/fstab << "EOF" # file system mount-point type options dump fsck # order rootfs / auto defaults 1 1 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 devpts /dev/pts devpts gid=4,mode=620 0 0 tmpfs /dev/shm tmpfs defaults 0 0 EOF echo "created fstab" cat > ${LJOS}/etc/profile << "EOF" export PATH=/bin:/usr/bin if [ `id -u` -eq 0 ] ; then PATH=/bin:/sbin:/usr/bin:/usr/sbin unset HISTFILE fi # Set up some environment variables. export USER=`id -un` export LOGNAME=$USER export HOSTNAME=`/bin/hostname` export HISTSIZE=1000 export HISTFILESIZE=1000 export PAGER='/bin/more ' export EDITOR='/bin/vi' EOF echo "created profile" echo "minimal-os" > ${LJOS}/etc/HOSTNAME cat > ${LJOS}/etc/issue<< "EOF" Linux baso os 1.0 Kernel \r on an \m EOF echo "created issue" cat > ${LJOS}/etc/inittab<< "EOF" ::sysinit:/etc/rc.d/startup tty1::respawn:/sbin/getty 38400 tty1 tty2::respawn:/sbin/getty 38400 tty2 tty3::respawn:/sbin/getty 38400 tty3 tty4::respawn:/sbin/getty 38400 tty4 tty5::respawn:/sbin/getty 38400 tty5 tty6::respawn:/sbin/getty 38400 tty6 ::shutdown:/etc/rc.d/shutdown ::ctrlaltdel:/sbin/reboot EOF echo "created inittab" cat > ${LJOS}/etc/mdev.conf<< "EOF" # Devices: # Syntax: %s %d:%d %s # devices user:group mode # null does already exist; therefore ownership has to # be changed with command null root:root 0666 @chmod 666 $MDEV zero root:root 0666 grsec root:root 0660 full root:root 0666 random root:root 0666 urandom root:root 0444 hwrandom root:root 0660 # console does already exist; therefore ownership has to # be changed with command console root:tty 0600 @mkdir -pm 755 fd && cd fd && for x in 0 1 2 3 ; do ln -sf /proc/self/fd/$x $x; done kmem root:root 0640 mem root:root 0640 port root:root 0640 ptmx root:tty 0666 # ram.* ram([0-9]*) root:disk 0660 >rd/%1 loop([0-9]+) root:disk 0660 >loop/%1 sd[a-z].* root:disk 0660 */lib/mdev/usbdisk_link hd[a-z][0-9]* root:disk 0660 */lib/mdev/ide_links tty root:tty 0666 tty[0-9] root:root 0600 tty[0-9][0-9] root:tty 0660 ttyO[0-9]* root:tty 0660 pty.* root:tty 0660 vcs[0-9]* root:tty 0660 vcsa[0-9]* root:tty 0660 ttyLTM[0-9] root:dialout 0660 @ln -sf $MDEV modem ttySHSF[0-9] root:dialout 0660 @ln -sf $MDEV modem slamr root:dialout 0660 @ln -sf $MDEV slamr0 slusb root:dialout 0660 @ln -sf $MDEV slusb0 fuse root:root 0666 # misc stuff agpgart root:root 0660 >misc/ psaux root:root 0660 >misc/ rtc root:root 0664 >misc/ # input stuff event[0-9]+ root:root 0640 =input/ ts[0-9] root:root 0600 =input/ # v4l stuff vbi[0-9] root:video 0660 >v4l/ video[0-9] root:video 0660 >v4l/ # load drivers for usb devices usbdev[0-9].[0-9] root:root 0660 */lib/mdev/usbdev usbdev[0-9].[0-9]_.* root:root 0660 EOF echo "created mdev conf" mkdir ${LJOS}/boot/grub cat > ${LJOS}/boot/grub/grub.cfg<< "EOF" set default=0 set timeout=5 set root=(hd0,1) menuentry "Linux minimal" { linux /boot/vmlinuz-4.16.3 root=/dev/sda1 ro quiet } EOF echo "created grup.cfg" touch ${LJOS}/var/run/utmp ${LJOS}/var/log/{btmp,lastlog,wtmp} chmod -v 664 ${LJOS}/var/run/utmp ${LJOS}/var/log/lastlog echo "basic file creation done"