CLFS(1.1.0-Sparc64-Pure64)-chrootへの移行(8)
2010年11月19日(金) 23:29 JST
閲覧数 3,575
ここからが、Sparc実機での操作になります。
まずは/mnt/clfs以下をビルドを実施してきたx86機からSparc機へコピーしておきます。
tarで固めたものを展開すれば問題はないかと思います。
NFSでマウントしてしまうのもアリですが。この作業以降、Sparc実機でのビルドが続く為、Sparc機実機のローカルに配置することをお勧めします。
◆Virtual Kernel File Systemsのマウント
◆Chroot環境への移行
◆オーナーの変更
◆ディレクトリの作成
◆リンクの作成
◆ビルドフラグの指定
今回は、Ultrasparc2でも動かすことを想定している為、指定は以下になります。
◆パスワード、グループ、ログファイルの作成
◆Kernel Filesystemsのマウント
まずは/mnt/clfs以下をビルドを実施してきたx86機からSparc機へコピーしておきます。
tarで固めたものを展開すれば問題はないかと思います。
NFSでマウントしてしまうのもアリですが。この作業以降、Sparc実機でのビルドが続く為、Sparc機実機のローカルに配置することをお勧めします。
◆Virtual Kernel File Systemsのマウント
# export CLFS=/mnt/clfs # mkdir -pv ${CLFS}/{dev,proc,sys} # mount -vt proc proc ${CLFS}/proc # mount -vt sysfs sysfs ${CLFS}/sys # mknod -m 600 ${CLFS}/dev/console c 5 1 # mknod -m 666 ${CLFS}/dev/null c 1 3 # mount -v -o bind /dev ${CLFS}/dev # mount -f -vt tmpfs tmpfs ${CLFS}/dev/shm # mount -f -vt devpts -o gid=4,mode=620 devpts ${CLFS}/dev/pts
◆Chroot環境への移行
# chroot "${CLFS}" /tools/bin/env -i \ HOME=/root TERM="${TERM}" PS1='\u:\w\$ ' \ PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \ /tools/bin/bash --login +h
◆オーナーの変更
# chown -Rv 0:0 /tools # chown -Rv 0:0 /cross-tools
◆ディレクトリの作成
# mkdir -pv /{bin,boot,dev,{etc/,}opt,home,lib,mnt} # mkdir -pv /{proc,media/{floppy,cdrom},sbin,srv,sys} # mkdir -pv /var/{lock,log,mail,run,spool} # mkdir -pv /var/{opt,cache,lib/{misc,locate},local} # install -dv -m 0750 /root # install -dv -m 1777 {/var,}/tmp # mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src} # mkdir -pv /usr/{,local/}share/{doc,info,locale,man} # mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo} # mkdir -pv /usr/{,local/}share/man/man{1..8} # for dir in /usr{,/local}; do ln -sv share/{man,doc,info} $dir done
◆リンクの作成
# ln -sv /tools/bin/{bash,cat,echo,grep,pwd,rm,stty} /bin # ln -sv /tools/bin/file /usr/bin # ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib # ln -sv /tools/lib/libstd* /usr/lib # ln -sv bash /bin/sh # mkdir -pv /usr/lib64 # ln -sv /tools/lib/libstd*so* /usr/lib64
◆ビルドフラグの指定
今回は、Ultrasparc2でも動かすことを想定している為、指定は以下になります。
# export BUILD64="-m64 -mcpu=ultrasparc -mtune=ultrasparc" # echo export BUILD64=\""${BUILD64}\"" >> ~/.bash_profile
◆パスワード、グループ、ログファイルの作成
# cat > /etc/passwd << "EOF" root:x:0:0:root:/root:/bin/bash EOF # cat > /etc/group << "EOF" root:x:0: bin:x:1: sys:x:2: kmem:x:3: tty:x:4: tape:x:5: daemon:x:6: floppy:x:7: disk:x:8: lp:x:9: dialout:x:10: audio:x:11: video:x:12: utmp:x:13: usb:x:14: cdrom:x:15: EOF # exec /tools/bin/bash --login +h # touch /var/run/utmp /var/log/{btmp,lastlog,wtmp} # chgrp -v utmp /var/run/utmp /var/log/lastlog # chmod -v 664 /var/run/utmp /var/log/lastlog # chmod -v 600 /var/log/btmp
◆Kernel Filesystemsのマウント
# mount -vt devpts -o gid=4,mode=620 none /dev/pts # mount -vt tmpfs none /dev/shm