Files
pxe_boot_alma/work/KickStart/cfg/diskpart.pl
T
andersenandClaude Fable 5 6d398b826a refactor: move tree under homelab/, add alma10 hardening and kickstart docs
- restructure boot/kickstarts/scripts/docs into homelab/
- docs: alma9->10 breaking changes, CIS hardening, kickstart changes
- add find_cron_entries.sh helper and codex running memory notes

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-06 22:35:07 -04:00

77 lines
2.2 KiB
Perl

#!/usr/bin/perl
my @hdisks;
if ( open(SCSI,"/proc/scsi/scsi") ) {
my ($s, $c, $i, $l);
while ( <SCSI> ) {
if ( /^Host:\s+scsi(\d+)\s+Channel:\s+(\d+)\s+Id:\s+(\d+)\s+Lun:\s+(\d+)/ ) {
($s, $c, $i, $l) = ($1, $2, $3, $4);
$s = ( $s =~ /^0+(\d+)$/ ) ? $1 : $s ;
$c = ( $c =~ /^0+(\d+)$/ ) ? $1 : $c ;
$i = ( $i =~ /^0+(\d+)$/ ) ? $1 : $i ;
$l = ( $l =~ /^0+(\d+)$/ ) ? $1 : $l ;
} elsif ( /^\s+Type:\s+Direct-Access/ ) {
if ( opendir(SD,"/sys/bus/scsi/drivers/sd/$s:$c:$i:$l") ) {
foreach ( readdir(SD) ) {
if ( /^block:(\w+)$/ ) {
push(@hdisks,$1);
}
}
close SD;
} else {
print "# No scsi disk device found for $s:$c:$i:$l\n";
}
}
}
close SCSI;
} else {
print "# Could not open scsi\n";
}
if ( opendir(IDE,"/proc/ide") ) {
foreach my $dev ( readdir(IDE) ) {
if ( $dev =~ /^hd\w+$/ ) {
if ( open(MDA,"/proc/ide/$dev/media") ) {
my $media = <MDA>;
close MDA;
if ( $media =~ /^disk$/ ) {
push(@hdisks, $dev);
}
} else {
print "# Could not open media for $dev\n";
}
}
}
closedir IDE;
} else {
print "# Could not open ide\n";
}
if ( $#hdisks >= 0 ) {
print "# Found disks: @hdisks\n";
print "\n";
print "clearpart --all\n";
print "\n";
print "part /boot --fstype ext3 --size=100 --ondisk=$hdisks[0]\n";
print "part pv.11 --size=1 --grow --ondisk=$hdisks[0]\n";
print "part pv.21 --size=1 --grow --ondisk=$hdisks[1]\n" if ( $#hdisks >= 1 );
print "\n";
print "volgroup vga pv.11\n";
print "volgroup vgb pv.21\n" if ( $#hdisks >= 1 );
print "\n";
print "logvol swap --fstype swap --name=swapVol01 --vgname=vga --size=4096\n";
print "logvol swap --fstype swap --name=swapVol02 --vgname=vgb --size=4096\n" if ( $#hdisks >= 1 );
print "\n";
print "logvol / --fstype ext3 --name=rootVol --vgname=vga --size=1 --grow\n";
print "logvol /usr/local --fstype ext3 --name=localVol --vgname=vgb --size=1 --grow\n" if ( $#hdisks >= 1 );
print "\n";
} else {
print "# No disks found!\n";
}