| #!/bin/sh |
| |
| # Check the sizes of Stage 2 and Stage 1.5's. |
| # Copyright (C) 1999,2004 Free Software Foundation, Inc. |
| |
| # This program is free software; you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation; either version 2, or (at your option) |
| # any later version. |
| |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| |
| # You should have received a copy of the GNU General Public License |
| # along with this program; if not, write to the Free Software Foundation, |
| # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
| |
| # Written by OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp> |
| |
| |
| # This function checks if the size of the first argument (filename) is |
| # greater than the second argument (limit). If so, then exit with the |
| # status 1, otherwise do nothing. |
| check () |
| { |
| file=$1 |
| limit=$2 |
| set dummy `ls -l $file` |
| size=$6 |
| if test $size -gt $limit; then |
| echo "$file is too big ($size > $limit)." |
| exit 1 |
| fi |
| } |
| |
| # The bootloader area of a FFS partition is 14 sectors. |
| check ffs_stage1_5 7168 |
| |
| check ufs2_stage1_5 7168 |
| |
| # Stage 1.5 can be installed in the sectors immediately after MBR in the |
| # first cylinder, so the size is (63 - 1) sectors. |
| check fat_stage1_5 31744 |
| |
| # Likewise. |
| check e2fs_stage1_5 31744 |
| |
| # Likewise. |
| check minix_stage1_5 31744 |
| |
| # Success. |
| exit 0 |