mirror of
https://git.valherun.com/valherun/pxe_boot_alma.git
synced 2026-10-15 22:22:03 -04:00
- 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]>
77 lines
2.2 KiB
Perl
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";
|
|
|
|
}
|
|
|